[英]Laravel inserting data to a table which has 2 “BelongsTo”
我想將數據插入具有2個“ BelongsTo”關系的一個表(稱為Startups)中,我在Laravel的文檔中找到了如何對一個表(一對多)執行此操作,但是我是該領域的初學者,我沒有不知道如何在一個公用表(Sturtups)中插入與2個不同表(類別-聯系人)相關的數據,要更好地理解這一點,請參見下面的圖像
這是我的代碼(請不要關注Sessions,在這種情況下不要緊):
$category_id = Session::get('category_id');
$country_id = Session::get('country_id');
$new_contact = new Contact([
'name' => Session::get('contact_name'),
'phone' => Session::get('contact_phone'),
'email' => Session::get('contact_email')
]);
$country = Country::find($country_id);
$country->contacts()->save($new_contact);
$new_startup = new Startup([
'name' => Session::get('startup_name'),
'description' => Session::get('startup_description'),
'url' => Session::get('startup_url'),
'logo' => Session::get('logo_name')
]);
$category = Category::find($category_id);
$category->startups()->save($new_startup);
$contact = Contact::find( $country->contacts()->id );
$contact->startups()->save($new_startup);
數據庫關系圖:數據庫中表之間的關系圖
附加信息:我遇到此錯誤:“常規錯誤:1364字段'contact_id'沒有默認值”我知道為什么發生此錯誤(我正在嘗試創建沒有聯系ID的啟動)
我只想知道在這種情況下如何插入數據
謝謝大家的幫助!
您的問題的答案是:
使該字段在數據庫遷移中可為空 ,因此不會發生此錯誤
$table->unsignedInteger('contact_id')->nullable();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.