搜索功能在相关 table 中查找参数值

search function look for parameter's value in related table

我有 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;
  }

哦,你正在使用 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();
}