之前一直一路db然后循环,这次项目用的fastadmin,就要求使用model,记录下
首先追加属性,然后在获取器里设置,因为要根据id查另一张表,就又引入了其他模型
// 追加属性
protected $append = [
'ctime_text' ,
'driver_text',
'route_text'
];
public function getUserTextAttr($value,$data)
{
$this->model =new \app\admin\model\user\User ; //改成自己的
$value =$this->model->where('id',$data['driver_id'])->column('real_name');
return $value;
// $status = [ 1=>'休息',2=>'开始接单',3=>'接单中',4=>'行驶中', 5=>'保修' ,6=>'其他'];
// return $status[$value];
}
特别记录下,如果用fastadmin里自带的搜索,那尽量不要用获取器来处理字段,尽量在js渲染表格时完成
{field: 'num', title: __('Num')},
{field: 'order_type', title: __('Order_type'),
formatter: function (value, row, index) {
if (value == '1') {
return '拼车';
}
if (value == '2') {
return '包车';
}
},operate:false
},
按钮的话
{field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, buttons: [
{name: 'goods', text: '同意', title: '同意', classname: 'btn btn-xs btn-primary btn-success btn-magic btn-ajax',
url: 'order/refundmoney/agree',
confirm:'同意退款?',
visible: function (row) {
if (row['status'] == 8) {
return true;
}
},
success: function (data, ret) {
table.bootstrapTable('refresh');
}
},
{name: 'gyGoods', text: '拒绝', title: '拒绝',
classname: 'btn btn-xs btn-danger btn-primary btn-dialog',
url: 'order/refundmoney/edit',
visible: function (row) {
if (row['status'] == 8) {
return true;
}
},
},
], formatter: Table.api.formatter.operate}