我是larvel 5.6的新手,正在尝试学习它。 我有以下代码:
$gr = group::create([
'book_id' => $book_id,
]);
$owner = Book::where('id', $book_id)->pluck('user_id');
$id1 = Auth::user()->id;
$gr->users()->sync([$id1 => ['last_seen_id' => -1], $owner => ['last_seen_id' => -1]]);
在数据透视表group_user中,我还有一列是last_seen_id,但出现错误:
“非法偏移类型”
所以我试图将代码更改为以下内容:
$gr = group::create([
'book_id' => $book_id,
]);
$owner = Book::where('id', $book_id)->pluck('user_id');
$gr->users()->sync([Auth::user()->id => ['last_seen_id' => -1], $owner => ['last_seen_id' => -1]]);
但是我仍然遇到相同的错误,请帮助我了解错误的原因和解决方法。
答案 0 :(得分:0)
在您的代码中,$owner
代表对象,并且按照您的代码,您似乎正试图使其成为数组,两种类型都不能用作数组索引,您在最后一行。
也许您只想获取一个所有者ID,所以我猜您需要获取的是
$owner = Book::where('id', $book_id)->first();
if(!empty($owner)) {
$owner = $owner->user_id;
} else {
throw new \Exception();
}