我正在构建一个Laravel 5.5项目,其中有2个相关模型,即用户和服务,它们之间的关系如下: 内部User.php
public function service()
{
return $this->hasMany('App\Service');
}
和在Service.php内部
public function user()
{
return $this->belongsTo('App\User');
}
我需要在服务模型中查询服务列,其中查询是service_name或用户名。实际上,查询将在服务模型和相关的用户模型中搜索项目。 我在下面编写了查询,但是返回了一个空集合:
$items = Service::where('service_name', 'LIKE', "%".$query."%")
->whereHas('user', function($q) use ($query){
$q->where('name', 'LIKE', "%".$query."%");))->get();
我在做什么错了?
NB:我在Google上搜索,stackoverflow和laravel文档没有完全提供我需要的内容,因此请问我的问题。
答案 0 :(得分:1)
将“ whereHas()”更改为“ OrWhereHas()”。