第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

Laravel 子表中插入數(shù)據(jù)時(shí)出現(xiàn)外鍵問題

Laravel 子表中插入數(shù)據(jù)時(shí)出現(xiàn)外鍵問題

PHP
Helenr 2023-07-08 20:40:51
我正在嘗試在訂單表中插入數(shù)據(jù),然后將訂單詳細(xì)信息保存在order_details表中。以下是我正在嘗試的代碼$order = Order::create($request->all());$order->order_detail()->insert($request->order_detail); //$request->order_detail is an array在我的模型中我提供了關(guān)系訂購(gòu)型號(hào)public function order_detail(){   return $this->hasMany(OrderDetail::class, 'order_id');}訂單詳情 型號(hào)public function order(){   return $this->belongsTo(Order::class,'order_id');}但它返回給我 一般錯(cuò)誤:1364 字段“order_id”沒有默認(rèn)值,因?yàn)?order_id 是order_details表中的外鍵如何在不手動(dòng)提供 order_id 的情況下做到這一點(diǎn)
查看完整描述

3 回答

?
吃雞游戲

TA貢獻(xiàn)1829條經(jīng)驗(yàn) 獲得超7個(gè)贊

我假設(shè)這$request->order_detail是一個(gè)由許多 組成的數(shù)組order_details。


問題insert是您沒有使用 Eloquent,而是使用查詢生成器,因此 Laravel 無法自行填充order_id,如果您使用createMany它,它將能夠這樣做:


$order = Order::create($request->all());

$order->order_detail()->createMany($request->order_detail);

來自文檔:


您可以使用 createMany 方法創(chuàng)建多個(gè)相關(guān)模型:


$post = App\Post::find(1);


$post->comments()->createMany([

    [

        'message' => 'A new comment.',

    ],

    [

        'message' => 'Another new comment.',

    ],

]);


查看完整回答
反對(duì) 回復(fù) 2023-07-08
?
一只名叫tom的貓

TA貢獻(xiàn)1906條經(jīng)驗(yàn) 獲得超3個(gè)贊

因?yàn)槟愕?request->order_detail不會(huì)包含 order_id。您可以從新創(chuàng)建的 $order 中獲取它。


$order = Order::create($request->all()); // upon create, you can access the order_id by doing $order->id


$orderDetails = [];


foreach($request->order_detail as $details) {

    $orderDetails[] = [

        array_merge($details, ['order_id' => $order->id]);

    ];

}


$order->order_detail()->insert($orderDetails);


查看完整回答
反對(duì) 回復(fù) 2023-07-08
?
侃侃爾雅

TA貢獻(xiàn)1801條經(jīng)驗(yàn) 獲得超16個(gè)贊

聽起來像是數(shù)據(jù)庫(kù)問題。該列order_id具有 AUTO_INCRMENT,這意味著它將在插入時(shí)生成一個(gè)數(shù)字。

嘗試使用 phpMyAdmin 插入以查看 AUTO_INCRMENT 是否有效?;蛘呤褂?SHOW TABLE STATUS 并檢查 AUTO_INCRMENT。


查看完整回答
反對(duì) 回復(fù) 2023-07-08
  • 3 回答
  • 0 關(guān)注
  • 196 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)