laravel admin 搜索 laravel-admin 关联搜索

2022-08-15 12:16:37

laravel admin 搜索 laravel-admin 关联搜索

使用框架封装方法筛选做搜索时,相信很多小伙伴都会遇到问题:

当前表只有关联的ID,没有搜索的字段,使用以下代码方法解决问题

举例:数据表中只有推广表推广IDpublicity_id 但是筛选 要搜索推广表 中的筛选字段
这时常规的方法已经不能解决问题

解决关键词whereHas

代码片 常规搜索.

// 常规搜索
 $filter->equal('publicity_id','推广id');

代码片 关联搜索(联合搜索).

// 关联搜索推广表中的其他字段
  $filter->where(function($query){
       $query->whereHas('publicity',function($query){#数据表关联推广表
            $query->whereHas('advertype',function($query){#推广表关联产品线表
                $query->whereHas('producttype',function($q){#产品线关联产品类型表
                    $q->where('product_type_id',$this->input);#最终达到按产品类型关联推广去做筛选});});});},'产品线类型')->select(ProductTypeModel::dataOptions(['product_type_id','product_type_name']));

总结:wherehas是非常好用的方法,可以关联下去无线重叠,里面的第一个参数 需要在model 模型里有关联的方法

  • 作者:森林里丁达尔
  • 原文链接:https://blog.csdn.net/a985018505/article/details/112840057
    更新时间:2022-08-15 12:16:37