laravel-admin 在new grid() 中,自定义了一个字段, 如何在其它列字段中调用呢?
代码如下
$grid=new Grid(new Target());
$grid->column('target','目标');
$grid->column('finish_target','今日完成')->display(function(){
return Order::where('created_at',date('Y-m-d'))->sum('pay');
});//自定义参数
$grid->column('not_finish','未完成')->display(function(){
return round(($this->target - $this->finish_target),2);
});//自定义参数
其中 “未完成” 的回显, 需要用到 自定义参数 finish_target”今日完成”,这里无法调用计算好的值,
问下大家有什么方法
教程:Eloquent ORM 模型中添加自定义值 参照这个
在Target Model里面添加
protected $appends = ['finish_target']; public function getFinishTargetAttribute() { return Order::where('created_at',date('Y-m-d'))->sum('pay'); }
controller修改如下 $grid=new Grid(new Target()); $grid->column('target','目标');
$grid->column('finish_target','今日完成');
$grid->column('not_finish','未完成')->display(function(){ return round(($this->target - $this->finish_target),2); });//自定义参数