Dcat 1.5 行内编辑,下拉更新问题

有2个问题:
1、刷新后,怎么设置默认值?这里默认显示的是“123”,实际上如果数据库值是2,需要默认显示“等待”,如何实现或者有没有好的思路?
代码如下:

$grid->column('check_state')->editable()->select([
  1 => '123',
  2 => '等待',
  3 => '不通过',
  4 => '通过',
]);

Dcat 1.5 行内编辑,下拉更新问题

2、页面选择等待后,默认会更新“UserChat”表的check_state列,但是实际上想更新“user”表的check_state列,如何实现或者有没有好的思路?

        return Grid::make(new UserChat(), function (Grid $grid) {

            $grid->model()
                ->leftJoin('user', 'user_chat.user_id', '=', 'user.id')
                ->leftJoin('chat', 'user_chat.chat_id', '=', 'chat.id')
//                ->whereColumn('user_chat.score')
                ->selectRaw(
                    "chat.username as chatname,
                    user.ok_info, user.username as username, concat(user.first_name,' ',user.last_name) as nickname,
                    user_chat.id,user_chat.score,user_chat.level,user_chat.chat_id,user_chat.user_id")
                ->whereRaw('chat.username!="NULL"')
                ->orderByDesc('score');
最佳答案

正确的用法是

$grid->column('check_state')->select([
  1 => '123',
  2 => '等待',
  3 => '不通过',
  4 => '通过',
]);

如果想要保存到关联表,需要在form表单的submitted事件中做处理

$form->submitted(function (Form $form) {
    $state = $form->check_state;
    $form->ignore(['check_state']);

    // 保存到关联表
});
3年前 评论
BigXia (楼主) 3年前
讨论数量: 1

正确的用法是

$grid->column('check_state')->select([
  1 => '123',
  2 => '等待',
  3 => '不通过',
  4 => '通过',
]);

如果想要保存到关联表,需要在form表单的submitted事件中做处理

$form->submitted(function (Form $form) {
    $state = $form->check_state;
    $form->ignore(['check_state']);

    // 保存到关联表
});
3年前 评论
BigXia (楼主) 3年前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!