Laravel 5.2将变量传递给查询构建器

时间:2016-09-21 19:09:08

标签: php eloquent laravel-5.2 laravel-query-builder

我很乐意使用查询构建器从数据库中获取用户的电子邮件地址并向他们发送电子邮件,但到目前为止,我已经被困在这几天了。

公共职能postSearchAction(请求$请求){

      $data = array(
            'service' =>  $request->get('service'),
            'location' => $request->get('location'),
            'allProviders' => $request->get('allProviders'),
            'date' => $request->get('date'),
            'optional_skills' => $request->get('optional_skills'),
            'landmark_homepage' => $request->get('landmark_homepage'),
            'name' => Auth::user()->name,
            'userEmail' => Auth::user()->email,
            'requesterMobile' => Auth::user()->phone_number
        );




         $email = DB::table('users')->where('main_service', 'LIKE', '%'.$data['location'].'%')
            ->where('city_service', 'LIKE', '%'.$data['location'].'%')
            ->pluck('email');




      To send emails

        \Mail::send('auth.emails.serviceProviders', $data, function($message) use ($data)
        {
                $message->to($email, 'oluyemi')->subject('Test');
        });


    }

现在我尝试使用dd($ mail),但该方法返回一个空数组。 我认为值得一提的是,一旦我将查询构建器中的变量更改为预期值,一切正常。

有人应该请求帮助,不知道自己做错了什么。我真的需要使用变量。

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

请向我们展示原始SQL查询,以便我们可以看到错误 在$ email查询后,输入:

DB::enableQueryLog();  
dd(DB::getQueryLog());

这将是最后一项。

OR

添加->toSql()代替->pluck()和dd()。