laravel-admin的filter联动

本文介绍了如何在laravel-admin中实现filter组件的联动效果。通过示例展示了使用equal方法选择项目名称,并通过联动获取产品名称的选择项。详细代码包括SQL查询、控制器方法和相关路由设置。按照laravel-admin的文档,强调了组件的通用性,适用于不同场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

组件

 

$filter->equal('project_number','项目名字')->select(function(){

$sql = "SELECT distinct p.project_number,p.project_name

FROM product_prices p

GROUP BY p.project_number,p.project_name

";

 

$reArr = [];

// $arr = Db::table("product_prices")->distinct()->get(["project_number","project_name"])->toarray();

$arr = Db::select($sql);

foreach($arr as $v){

$reArr[

$v->project_number

] = $v->project_name;

}

//sql

return $reArr;

}

)->load("product_number","/admin/productPrice/secondSelect");

$filter->equal("product_number","产品名字")->select();

 

//方法

//二级联动

public function secondSelect(Request $request){

$provinceId = $request->get('q');

// $provinceId = "ltkf123";

$sql = "SELECT distinct p.product_number,p.product_name

FROM product_prices p

where p.project_number=ltkf123

group by p.product_number,p.product_name

";

$arr = Db::table("product_prices")->where(["project_number"=>$provinceId])->distinct()->get([Db::raw('product_number as id'),Db::raw('product_name as text')]);

return $arr;

}

//路由

$router->any('/productPrice/secondSelect','Capacity\ProductPriceController@secondSelect');

总结:按照laravel-admin文档去做就行,laravel所有的组件都是通用的,不要拘泥于是form,还是filter,名字相同的能起到同样的作用

by:同事吵吵闹闹的学东西好慢,只能每天晚上他们回去了加班安安静静学习

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值