laravel关联表模糊查询

laravel关联表模糊查询

以前关联查询直接就写原生sql了,最近遇到项目需要配置同事,所以研究了laravel框架的写法!

场景:

两个表:公司表  公司联系人表  一对多的关系

查询条件:公司名称/公司简称   联系人(一个公司对应多个联系人)

下边是laravel代码:

public function index(Customers $customers , Request $request)
{
    $customers = $customers->with('contacts');
    #模糊查询公司名称或者简称
    $request->name && $customers = $customers->where(function($query) use ($request){
        $query->where('company_name','like',"%{$request->name}%")->orWhere('company_addr','like','%'.$request->name.'%');
    });
    #模糊查询关联表客户姓名
    $request->contact && $customers = $customers->whereHas('contacts', function ($builder) use ($request,&$customers) {
        $builder->where('contact', 'like', "%{$request->contact}%");
    });
    #返回数据
    return new CustomersResources($customers->orderBy('id','desc')->paginate($request->pageSize ?? $request->pageSize));
}

laravel的关联表查询写法就完事了~ 你学会了吗~

laravel关联表模糊查询

喜欢(1)

评论 抢沙发

表情