Laravel:使用关系属于模型来爆炸数组

问题描述 投票:2回答:1

我想爆炸数组值并使用此代码成功完成:

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

这是输出

Topic : 1,2

问题是,我想实现关系belongsTo到topic_id。当我添加关系并运行代码时,遗憾的是只显示了其中一个值。

@foreach(explode('.', $comment->getTopic->topic) as $topic)
    {{ $topic }}
@endforeach

这是我的模特

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

输出:

Topic : Laravel

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

php arrays laravel
1个回答
0
投票

在这种情况下,你不能使用relationship。如果您只是寻找solution,那么您可以执行以下操作:

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

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

顺便说一句,你应该更有效地structure你的database

© www.soinside.com 2019 - 2024. All rights reserved.