こんにちは私はlaravelトレーニングプロジェクトに取り組んでいます。私はモデルや関係に問題があります。それぞれの商品カテゴリ名を取得しようとしています。ここで
は私のプロダクトモデルlaravelのカテゴリの関係未定義のプロパティ:stdClass ::
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Product extends Model
{
public function category()
{
return $this->belongsTo('App\Category');
}
}
と私のカテゴリーモデルです
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Category extends Model
{
protected $table = 'categories';
public function products()
{
return $this->hasMany('App\Product');
}
}
私が実行している間、この
@foreach($products as $product)
<tr>
<td>{{ $product->id }}</td>
<td>{{ $product->name }}</td>
<td>{{ $product->category->name }}</td>
</tr>
@endforeach
などの各製品のカテゴリ名を取得しようとすると、このエラーが表示されるページ
Undefined property: stdClass::$category (View: /var/www/html/projectname/resources/views/my/products/index.blade.php)
誰でもこのエラーの原因を教えていただけますか?ここで更新
は、テーブル構造に
製品です:ID、名前、category_id->符号なし()
カテゴリー:ID、名前を
、ここでは、私は$の製品を取得するために使用するコードです
$user_id = Auth::user()->id;
$products = DB::table('products')->where('user_id', $user_id)->paginate(5);
return view('my.products.index')->withProducts($products);
プロダクトとカテゴリのテーブル構造を表示します。間違った外部キーの問題かもしれません。 –
@OdinThunder私はポストを更新しました。 –
エラーメッセージは、 '$ product'が' Product'モデルのインスタンスではなく、オブジェクト/ stdClassであることを示唆しています。あなたは '$ products'変数を取得するために使用したコードを投稿できますか? – Jonathon