laravel保存多对多态

时间:2018-11-25 11:22:40

标签: laravel many-to-many

嗨,我想保存许多多态性

就我而言,我想保存标签以供书评

它保存标签,但它保存的不仅仅是标签

85  App\Models\Book_Review  132 1   2018-11-25 14:42:20 2018-11-25 14:42:20
86  App\Models\Book_Review  132 85      
87  App\Models\Book_Review  132 2   2018-11-25 14:42:22 2018-11-25 14:42:22
88  App\Models\Book_Review  132 87      
89  App\Models\Book_Review  132 3   2018-11-25 14:42:23 2018-11-25 14:42:23
90  App\Models\Book_Review  132 89      

保存标签,并且在每个标签之间保存一个带有前一个可标签对象的标签ID的可标签表对象

这是我的标签模型关系

public function books_review()
{
    return $this->morphedByMany(Book_Review::class, 'taggable');
}

这是我的书评模型关系

public function tags()
{
    return $this->morphToMany(Tag::class, 'taggable');
}

这就是我在控制器中保存标签的部分

    foreach ($request->tagid as $item) {


        $book_review_tag = new Taggable();
        $taggable_id = strval($book_review->id);
        $book_review_tag->taggable_type = $this->Model;
        $book_review_tag->taggable_id = $taggable_id;

        $book_review_tag->tag_id = $item;
        $book_review->tags()->saveMany([$book_review_tag]);

    }

我使用调试器并向我展示,当它返回到for循环的第一个时,它将获得id作为参数 但我不知道如何解决

0 个答案:

没有答案