我想在发布项目的帖子中显示用户的名字。但它显示错误:试图在视图文件中获取非对象的属性。如何使用id从laravel的其他表中获取数据?
我有用户表和项目表。在项目表中我有外键user_id。但我无法访问用户的名称,甚至无法访问用户表中的用户标识。在项目表中,user_id是0,它与用户表中的不同。我该如何解决这个问题?
用户模型:
public function project()
{
return $this->hasMany('App\Project');
}
项目模型:
public function User() {
return $this->belongsTo('App\User','user_id');
}
迁移用户表:
Schema::create('users', function (Blueprint $table) {
$table->increments('id');
$table->string('name');
$table->string('email')->unique();
$table->string('password');
迁移项目表:
Schema::create('projects', function (Blueprint $table) {
$table->increments('id')->unique();
$table->integer('user_id')->unsigned();
$table->foreign('user_id')->references('id')->on('users');
$table->string('name');
$table->text('description');
$table->date('date');
$table->timestamps('date');
});
视图文件:
@foreach ($projects as $key => $project)
<tr>
<td>{{ ++$i }}</td>
<td>{{ $project->name }}</td>
<td> {{$project->user_id->name}}</td>
<td>{{ $project->description }}</td>
<td>{{ $project->date }}</td>
用户表'id'必须对应于项目表中的'user_id'。这是关系存在的地方。你有没有检查过这个是正确的? –
用户表中的id和项目表中的user_id不相同。在项目表中所有的ID都是0.我应该如何纠正这个? – kavi
您如何创建项目,您是否可以显示控制器中的片段或将新记录添加到项目的位置? –