我有2张桌子,商家和交易。商家有(中间,姓名,年龄)和交易有(id,mid,order_no,)。我已经通过eagerloading显示了像(orderid,name)这样的数据。现在我在顶部有搜索功能,我可以按商家名称搜索所有订单。我怎么做? IM'尝试这样的事情
public function search($search){
$query = Transaction::with('themerchant')
->join('merchants','transactions.mid', '=', 'merchants.mid' )
->select('merchants.name', '=' , '%'.$search.'%')->paginate(10);
return $query;
}
答案 0 :(得分:1)
哦,你正在使用eagerLoading 这样做
public function search($search){
return Transaction::with(['themerchant' => function($query){
$query->where('name', 'like', '%'.$search.'%');
}])->paginate(10);;
}
如果您想要确切的商家匹配,请更改此类
...
->where('name', '=' , $search)
...
如果您想使用加入
public function search($search){
return Transaction::join('merchants', 'merchants.mid', '=', 'transactions.mid')
->where('merchants.name', 'like', '%'.$search.'%')
->get();
}