Laravel Eloquent BelongsTo()问题回应结果

时间:2015-08-30 05:05:43

标签: eloquent laravel-5.1

编辑:我解决了。我将它留在这里作为参考,我希望将来可以帮助某人。

我正在尝试回复评论的所有者,如下所示,但它会出错。

  

尝试获取非对象的属性

$comments = ThingComment::where('thing_id', $id)>orderBy('comment_date', 'desc')->get();

刀片模板

@foreach($comments as $comment)
    @foreach($comment->thingCommentOwner as $owner)
        {{$owner->user_name}}
    @endforeach
@endforeach

我有三个模型:UserThingThingComment事情可能并不重要,所以我没有包含它。

我的表格为:usersthing_comment

user_idthing_id是thing_comment表中的外键。我应该能够通过thing_comment表访问users表列,这就是我想在这里实现的。

模型如下。

ThingComment.php

<?php
namespace App\Models;

use Illuminate\Database\Eloquent\Model;


class ThingComment extends Model {

    protected $table = 'thing_comment';
    protected $primaryKey = 'comment_id';

    protected $fillable = ['comment', 'comment_date', 'upvotes', 'downvotes', 'user_id', 'thing_id', 'parent_comment_id'];

    public function thingCommentOwner() {
        return $this->belongsTo('\App\Models\User','user_id');
    }

    public function commentThing() {
        return $this->belongsTo('\App\Models\Thing','thing_id');
    }

}

1 个答案:

答案 0 :(得分:0)

他们需要像下面这样使用。 thingCommentOwner允许我们向用户表JUMP,这很酷。

@foreach($comments as $comment)
    {{$comment->comment}}
    {{$comment->thingCommentOwner->name}}
    {{$comment->thingCommentOwner->user_image}}
    <p></p>
@endforeach