안녕 저는 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)
누구든지이 오류의 원인을 알려 줄 수 있습니까? 여기 갱신
은 테이블 구조를
제품입니다 : 아이디, 이름, 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