$input = Input::all();
$user = User::where(function($q) {
$q->where('email', $input['email'] )
->orWhere('email', $input['emails'][0]['value'] );
})
->first();
print_r($user);die;
总是说Undefined变量:输入 将电子邮件与两个值进行比较的最佳方法是什么,请指导
答案 0 :(得分:3)
添加use($input)
以将$input
变量传递给闭包范围:
User::where(function ($q) use ($input) {
闭包还可以从父作用域继承变量。任何此类变量都必须传递给
use
语言构造。
答案 1 :(得分:0)
User::where(function($q) use ($input) {
$q->where('email', $input['emails'][0]['value']);
if (array_key_exists('email', $input)) {
$q->orWhere('email', $input['emails'][0]['value']);
}
})
但请确保您始终拥有此值 $ input ['电子邮件'] [0] ['值']