簡體   English   中英

無法使用laravel 5.5將外鍵保存到我的表中

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM