column('id')->sortable();
$grid->column('user.nick_name', '昵称');
$grid->column('talk_content')
->if(function($column){
return mb_strlen($this->talk_content)>=30 ? 1:0;
})->then(function (Grid\Column $column) {
$column->display(function(){
return mb_substr($this->talk_content, 0, 30);
})->expand(function () {
// 返回显示的详情
// 这里返回 content 字段内容,并用 Card 包裹起来
$card = new Card(null, $this->talk_content);
return "
$card
";
});
})->else(function (Grid\Column $column) {
$column->display(function(){
return $this->talk_content;
});
});
$grid->column('praise_num')->sortable();
$grid->column('is_show')->switch();
$grid->column('created_at');
$grid->model()->orderBy('created_at', 'desc');
$grid->disableActions();
$grid->disableCreateButton();
$grid->filter(function (Grid\Filter $filter) {
$filter->like('talk_content');
$filter->equal('user_id', '留言人')->select(admin_route('user.api'));
});
});
}
/**
* Make a show builder.
*
* @param mixed $id
*
* @return Show
*/
protected function detail($id)
{
return Show::make($id, new UserTalk(), function (Show $show) {
$show->field('id');
$show->field('user_id');
$show->field('talk_content');
$show->field('praise_num');
$show->field('is_show');
$show->field('created_at');
$show->field('updated_at');
});
}
/**
* Make a form builder.
*
* @return Form
*/
protected function form()
{
return Form::make(new UserTalk(), function (Form $form) {
$form->display('id');
$form->text('user_id');
$form->text('talk_content');
$form->text('praise_num');
$form->text('is_show');
$form->display('created_at');
$form->display('updated_at');
});
}
}