2016-09-23 119 views
-1

我是Laravel的新手,並遇到ManyToMany關係問題。Laravel商店方法ManyToMany錯誤

我有兩個表: 成員 基

成員可以屬於多個組,一組可以有很多成員。

我已經在模型和數據透視表中創建了關係。

當我創建成員時,我有組的複選框。

在我的店裏方法我這樣做:

.... 
$member->save(); 

if(isset($request->groups)) { 
$groups = implode(',', $request->groups); 
$member->groups()->sync([$groups]); 
} 

DD($組)給出: 「2,7」

我得到的錯誤: QueryException在Connection.php 761:SQLSTATE [01000]:警告:1265的數據在第1行截斷爲列 'GROUP_ID'(SQL:插入group_membergroup_idmember_id)值(2,7,5))

這是哪裏5來自和爲什麼我得到這個錯誤?

謝謝

回答

1

此錯誤是因爲您輸入的數據類型。

使用

implode() 

你把所述陣列成一個字符串而同步()方法想要的陣列作爲輸入。讓我們試試吧:

$member->save(); 

if(isset($request->groups)) { 
    $member->groups()->sync($request->groups); 
} 
+0

OMG,當然!!!我在過去的幾個星期裏學習了laravel,我的腦袋裏充滿了信息.....謝謝:) –