关系中的数据不会显示,也不会出错

时间:2016-05-13 21:33:12

标签: php laravel-5

我有一个包含tag_id和contact_id的表,我设法能够获得具有特定tag_id的联系人,但我无法获得实际显示的数据。

Taggings.php

public function contact()
{
    return $this->belongsTo('App\Contact', 'contact_id', 'ID');
}

public function tag()
{
    return $this->belongsTo('App\Tag');
}

Contact.php

public function taggings()
    {
        return $this->hasMany('App\Taggings', 'contact_id', 'ID');
    }

在控制器中

$contacts = Taggings::with('contact')->where('tag_id', $tag->id)->get();

在模板中

@foreach ($contacts as $contact)
    <tr>
        <td>{!! $contact->fname !!}</td>
        <td>{!! $contact->lname !!}</td>
        <td>{!! $contact->email !!}</td>
    </tr>
@endforeach

这会导致无法显示,如果我只是尝试输出{{$ contact}}我会获得所有数据,但尝试仅显示联系人中的某些列会导致无法显示任何内容。我“可以”显示标签表中的列,但这不是我需要的。

我很擅长使用这样的关系,所以我很可能设置错误。

1 个答案:

答案 0 :(得分:0)

想出来,我忘了将方法添加到模板中,如下所示:

{{ $contacts->contact->fname }}