使用搜索词'q'从两个相关表查询搜索



我有两个桌子食物表和餐厅表,它们都与餐厅ID相关

这是食物模型中的关系

public function restaurant(){
return $this->belongsTo('AppRestaurant');
}

这是食物桌

$table->bigIncrements('id');
$table->timestamps();
$table->integer('price');
$table->integer('food_item');
$table->integer('restaurant_id');

这就是餐厅模式中的关系

public function foods(){
return $this->hasMany('AppFood');
}

当用户输入q时,这是食品项目的搜索词,我需要它根据搜索词生成所有餐厅的食品项目

这是我写的查询,但当我返回 json_encode($foodsAll( 时返回 0 个结果;

public function search(Request $request){
$foodsAll = Restaurant::whereHas('foods',function($query) use ($request){
$query->where('food_item','like','%'.$request->q.'%');
});

}

你缺少 get((。

public function search(Request $request){
$foodsAll = Restaurant::whereHas('foods',function($query) use ($request){
$query->where('food_item','like','%'.$request->q.'%');
})->get();
}

相关内容

  • 没有找到相关文章

最新更新