关于 Laravel-admin 的问题,提示 Missing argument 1 for App\Admin\Controllers\MessageController::form ()?


namespace App\Admin\Controllers;

use App\Models\SetQuestion;
use Encore\Admin\Form;
use Encore\Admin\Grid;
use Encore\Admin\Facades\Admin;
use Encore\Admin\Layout\Content;
use App\Http\Controllers\Controller;
use Encore\Admin\Controllers\ModelForm;
use App\Models\Message;

class MessageController extends Controller
{
    use ModelForm;

    /**
     * Index interface.
     *
     * @return Content
     */
    public function index()
    {

        return Admin::content(function (Content $content) {

            $content->header('留言列表');
            $content->description('');
            $content->body($this->grid());

        });
    }

    /**
     * Edit interface.
     *
     * @param $id
     * @return Content
     */
    public function edit($id)
    {

        return Admin::content(function (Content $content) use ($id) {
            $content->header('回复留言');
            $content->description('description');
            $content->body($this->form($id)->edit($id));
        });
    }

    /**
     * Make a grid builder.
     *
     * @return Grid
     */
    protected function grid()
    {

        return Admin::grid(Message::class, function (Grid $grid) {

            //$grid->disableCreation();
            $grid->id('编号')->sortable();
            $grid->user_name('会员账号');
            $grid->picture("相关图片")->display(function ($picture) {
                return "";
            });
            $grid->content("留言内容")->display(function ($content) {
                return getsre($content,25);
            });
            $grid->reply("回复留言")->display(function ($reply) {
                return getsre($reply,25);
            });

            $grid->filter(function($filter){

                // 去掉默认的id过滤器
                $filter->disableIdFilter();
                // 在这里添加字段过滤器
                $filter->like('user_name', '会员账号');
                $filter->like('content', '留言内容');
                $filter->between('created_at', "留言时间")->datetime();

            });

            $grid->created_at('创建时间');
            $grid->updated_at('更新时间');
        });
    }

    /**
     * Make a form builder.
     *
     * @return Form
     */
    protected function form($id)
    {

        return Admin::form(Message::class, function (Form $form) use($id) {

            $columns = json_decode($form->edit($id)->model()->columns);
            $form->display('id', '编号');
            $form->text('user_name', '会员账号')->readOnly();
            $form->embeds('questions','选项', function ($form) {
                $count = SetQuestion::all()->count();
                for ($i=1; $idisplay($question_v,$question_d);
                    $form->display($answer_v,$answer_d);
                }
            });

            $form->embeds('columns','表单信息', function ($form) use ($columns) {
                collect($columns)->map(function ($column,$key) use ($form){
                    $form->display($key);
                });
            });

            // $form->image('picture', '相关图片');

            $form->textarea('content', '留言内容')->readOnly();
            $form->textarea('reply', '回复内容');
            $form->display('created_at', '创建时间');
            $form->display('updated_at', '更新时间');
        });
    }
}

laravel-admin后台列表删除功能不能用,提示信息:Missing argument 1 for App\Admin\Controllers\MessageController::form()

《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
讨论数量: 4

file
这个地方应该不写这个id吧

6年前 评论

你如果不想用新增的功能 就直接把新增按钮禁用就行啦
$grid->disableCreation();
form里也不用传id
就正常用就可以哒

6年前 评论

@xylovevae 表里有字段json数据为“{"QQ": "12121","weixin":"552415"}”,怎么在表单里面显示出来???

6年前 评论

@暧昧繁衍着痛 http://laravel-admin.org/docs/v1.4/#/zh/
建议你先看看教程 先掌握最基本的语法

6年前 评论

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