Laravel中按数组的关系

时间:2019-06-12 10:44:08

标签: php laravel eloquent eloquent--relationship

我有一个author_id数组。我想使用关系通过ID提取作者。我已经获取了版本和发行商,但是作者有一个数组。

----------------------------------------------------------------------
| id | title            | author_id      | edition_id | publisher_id |
|----|------------------|----------------|------------|--------------|
| 2  | Web Development  | ["1","3","4"]  | 2          | 1            |
|----|------------------|----------------|------------|--------------|

请检查图像:-

enter image description here

请提供建议,如何获取关系中的数组列字段

2 个答案:

答案 0 :(得分:2)

您应该使用数据透视表和many-to-many relation正确创建此链接。

新表将包含author_idlocal_id。这样,本地行可以有多个作者,并且可以在数据库中定义该关系。

答案 1 :(得分:2)

您需要使用for循环来通过使用ID来获取作者

就像您有一个数组author_id = [1、3、4]

所以您需要根据author_id数组的数量来循环它

for(i=0; i<= count(author_id); i++){
      //your condition based on the index of for loop
    select author from sometable where author_id[$i] = author
}