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