雄辩的输入在3表上没有任何关系

时间:2018-07-19 11:29:33

标签: php mysql laravel laravel-5 eloquent

我有3张桌子。

  • 报价(与订单的关系)
  • 订单(与报价和项目的关系)
  • 项目(与订单有关,但与报价无关)

我的模特就像
报价模型

class Quotation extends BaseModel implements Notifiable
{    public function orders()
     {
       return $this->hasMany(Order::class, 'quotation_id');
     }
}

订单模型

class Order extends BaseModel implements Notifiable
{
    public function quotation()
    {
       return $this->belongsTo(Quotation::class, 'quotation_id');
    }

    public function project()
    {
        return $this->belongsTo(Project::class, 'project_id');
    }
}

项目模型

class Project extends BaseModel
{
    public function order()
    {
    return $this->hasOne(Order::class, 'project_id');
    }
}

我想在创建项目时以相同的报价(雄辩)将其填充到每个订单表的project_id中。有可能吗?

我当前的控制器是这样的

    public function store(ProjectRequest $request, Order $order, $number = null)
    {
        if (!$number) {
            $number = numbering(new Project(), 'PRJ');
        }

        $project = Project::create($request->data($number));

        $order->project()->associate($project)->save();

        return \response([
            'path' => "/projects/$project->id"
        ]);
    }

但是它只是在一个订单行中填充了project_id。

0 个答案:

没有答案