Laravel 5,正在尝试获取 属性 的非对象

Laravel 5, Trying to get property of non-object

我的控制器:

 public function show($id){
    $user_id_1_connections = Connection::whereUser_id_1AndConnection_status($id, 1)->get();
    $user_id_2_connections = Connection::whereUser_id_2AndConnection_status($id, 1)->get();
    return view('connection.showConnection',['user_id_1_connections' => $user_id_1_connections, 'user_id_2_connections' => $user_id_2_connections]);
} 

我的模型:

protected $table = 'connections';
protected $fillable = ['user_id_1','user_id_2','connection_status'];

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

我的刀锋:

@foreach($user_id_1_connections as $user_id_1_connection)
{{ $user_id_1_connection->user->name }}
{{ $comment->user->name }}
@endforeach
@foreach($user_id_2_connections as $user_id_2_connection)
{{ $user_id_2_connection->user->name }}
@endforeach

我已经为 user_id_1 和用户 table 创建了外键 user_id_2。

$table->integer('user_id_1')->unsigned();
        $table->foreign('user_id_1')->references('id')->on('users')->onDelete('cascade');
        $table->integer('user_id_2')->unsigned();
        $table->foreign('user_id_2')->references('id')->on('users')->onDelete('cascade');

但是当我运行这个代码。它显示错误: 正在尝试获取 属性 的非对象。

这里的问题可能是您没有为每个连接分配 user,所以不是:

{{ $user_id_1_connection->user->name }}

你应该这样写:

{{ $user_id_1_connection->user ? $user_id_1_connection->user->name : 'unknown' }}

当您使用 $x->y->z 语法时,所有其他地方都相同。要显示 z 你应该确保 $x->y 不为 null