[英]unable to save foreign key into my table using laravel 5.5
我正在嘗試將來自另一個表的外鍵保存到我的控制器方法中,但是我無法保存此鍵並導致此問題:
我要在這里做的是有來自business_master表的FK的business_id:
我的控制器方法:
$businessId = Input::get('business_id');
$page = new Page();
$page->page_name = Input::get('page_name');
$page->page_url = Input::get('page_url');
$page->business()->attach($businessId);
$page->business_id = $businessId;
$page->save();
$resultArray = ['status' => 1, 'message' => 'Page url added!', 'dataArray' => $page];
}
和我的頁面模型:
class Page extends Model
{
protected $table = 'page_master';
protected $fillable = ['business_id','page_url','page_name'];
public function business()
{
return $this->hasMany('App\Business','business_id','id');
}
我到達這里的錯誤是
BadMethodCallException: Call to undefined method Illuminate\Database\Query\Builder::attach()
我非常想存儲business_id(fk),但我無法做到,您的任何幫助將不勝感激!
您有一個錯誤,因為只能將實例附加到多對多關系中
$page->business()->attach($businessId);
嘗試商務create()
$page->business()->create([]);
刪除線
$page->business()->attach($businessId);
僅使用
$page = new Page();
$page->page_name = Input::get('page_name');
$page->page_url = Input::get('page_url');
$page->business_id = $businessId;
$page->save();
該代碼將為您工作。
最好使用$ fillable,因為這很有用。在雄辯的ORM中,為避免此類字段的大量分配,我們在可填充對象下定義模型中的字段列表,以便在發送值數組進行建模時直接處理操作取決於創建,更新,刪除等操作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.