0

我有 2 张桌子,商家和交易。商家有 (mid,name,age),交易有 (id,mid,order_no,)。我已经使用 eagerloading 显示了(orderid,name)之类的数据。现在我在顶部有一个搜索功能,我可以通过商家名称搜索所有订单。我怎么做?我正在尝试这样的事情

  public function search($search){
      $query = Transaction::with('themerchant')
      ->join('merchants','transactions.mid', '=', 'merchants.mid' )
      ->select('merchants.name', '=' , '%'.$search.'%')->paginate(10);
      return $query;
  }
4

1 回答 1

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();
}
于 2017-02-23T04:58:42.173 回答