Php Laravel:分解关系属于模型的数组

Php Laravel:分解关系属于模型的数组,php,arrays,laravel,Php,Arrays,Laravel,我想分解数组值,并使用以下代码成功地完成了此操作: @foreach(explode('.', $comment->topic_id) as $topic) {{ $topic }} @endforeach 这是输出 Topic : 1,2 问题是,我想实现与主题\u id的关系。当我添加关系并运行代码时,不幸的是只显示其中一个值 @foreach(explode('.', $comment->getTopic->topic) as $topic) {{ $

我想分解数组值,并使用以下代码成功地完成了此操作:

@foreach(explode('.', $comment->topic_id) as $topic)
    {{ $topic }}
@endforeach
这是输出

Topic : 1,2
问题是,我想实现与
主题\u id
的关系。当我添加关系并运行代码时,不幸的是只显示其中一个值

@foreach(explode('.', $comment->getTopic->topic) as $topic)
    {{ $topic }}
@endforeach
这是我的模型

public function getTopic()
{
    return $this->belongsTo('App\Topic', 'topic_id', 'id');
}
输出:

Topic : Laravel

调用此数组的正确方法是什么?请帮帮我。谢谢。

在这种情况下,您不能使用
关系。如果您只是寻找
解决方案
,则可以执行以下操作:

<?php $topic_ids = explode('.', $comment->topic_id);
      $topics = App\Topic::whereIn(id, $topic_ids)->get();
?>

@foreach($topics as $topic)
{{ $topic }}
@endforeach

@foreach($topics作为$topic)
{{$topic}}
@endforeach

顺便说一句,你应该更有效地构建你的
数据库

你的关系是错误的,因为你的
主题id
是逗号分隔的值,但你正在与id建立关系!!也许你应该改变你的数据库结构,试着学习规范化以便更好地理解。看看我在一个类似问题下发布的答案:我可以知道我应该如何构建我的数据库以及这样做的权利吗@Sohel0415