用自己的模板替换 admin 的后出现的几个问题,请教

看到这里,就试着自己写了表单页面替换admin的,然后就出现了下面的问题。

表关系如下:

CLASS  ProjectPurchase{
        protected $fillable = ['process'];
        public function operationRecord()
        {
            return $this->hasMany(OperationRecord::class);
        }   
}
CLASS  OperationRecord {
        protected $fillable = ['test',‘operation’];
        public function user()
        {
            $userModel = config('admin.database.users_model');
            return $this->belongsTo($userModel,'operator');
        }
        public function projectPurchase()
        {
            return $this->belongsTo(ProjectPurchase::class);
        }
}

保存方法:

    public function mysave($id){
        $user = Admin::user();
        $project = ProjectPurchase::find($id);
        $project->process = ‘www’;//字段为INT,测试用脏数据
        $record = new OperationRecord();
        $record->test = '哈哈哈';
        $record->operator = $user->id;
        DB::transaction(function () {
            $project->operationRecord()->save($record);
            $project->save();
        });
        return redirect('/admin/projectpurchases');
    }

遇到问题:

1、上面mysave方法中,闭包没加use的情况下,一直执行到了$project->save();抛出了SQL异常,不止一次。但后来看完资料回来,就再也进不去了。

2、关联表保存的时候user _id怎么关联保存?试过下面这些方法,都无效。采用直接赋值$record->operator = $user->id;才成功,难道以后每添加一张表,就要给admin_user增加一个关联?

    $project->user = $user->id,
    $project->user() = $user,
    $project->operationRecord()->save($record,$user);\

  
3、为了获得表单内容,mysave方法改为如下,结果报找不到operator错误,但打印出来却显示data1包含operator,且有值。将data1替换成手工赋值的模型实例record,则保存成功。无法理解,请教!!

    public function mysave($id,Request $request){
        dump($request->all());
        $user = Admin::user();
        $project = ProjectPurchase::find($id);
        $record = new OperationRecord();
        $record->operator = $user->id;
        $data1 = $request->only(['operation','test']);
        $data1['operator']= $user->id;
        DB::transaction(function () use($project,$data1,$request) {
            $project->operationRecord()->create($data1);
            $project->update($request->all());
        });
        dump($data1);
        return [];
    }

4、有没有什么能够整体虫request到模型进行组装或者保存的办法?试过下面这个,还有this-》form等,不管用,报错。

    $project->operationRecord()->save($request->all());

    HasOneOrMany::save() must be an instance of 。。。。。
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 1

这章人好少啊,自己顶一下

5年前 评论

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