2014-09-24 116 views
0

基本上我试图执行下面的查询。Laravel - 查询相关模型

Volunteer::with('user') 
->where('fname', 'like', '%' . Input::get('search') . '%') 
->orWhere('lname', 'like', '%' . Input::get('search') . '%') 
->orWhere('users.email', 'like', '%' . Input::get('search') . '%') //error 
->orWhere('phone', 'like', '%' . Input::get('search') . '%') 
->orderBy('fname') 
->paginate($limit); 

第二onWhere子句抛出column not found错误。

志愿者和用户表是相关的。

如何使用电子邮件列从用户表在查询志愿者表如上所示。

请帮忙。任何解决方法?

回答

3

你正在尝试做的是query the relationship。对于这个例子,它可以这样完成:

Volunteer::with('user') 
->where('fname', 'like', '%' . Input::get('search') . '%') 
->orWhere('lname', 'like', '%' . Input::get('search') . '%') 
->orWhereHas('user', function($query){ 
    $query->where('email', 'like', '%' . Input::get('search') . '%'); 
}) 
->orWhere('phone', 'like', '%' . Input::get('search') . '%') 
->orderBy('fname') 
->paginate($limit); 
+0

没错。一种查询关系的方法。万分感谢。 :) – aBhijit 2014-09-24 17:57:21

+0

你能帮我解决这个问题吗:http://stackoverflow.com/questions/26014364/laravel-php-returning-redirecting-from-child-class – aBhijit 2014-09-24 17:59:13