我想在發佈項目的帖子中顯示用戶的名字。但它顯示錯誤:試圖在視圖文件中獲取非對象的屬性。如何使用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
您如何創建項目,您是否可以顯示控制器中的片段或將新記錄添加到項目的位置? –