【发布时间】:2021-01-16 17:42:38
【问题描述】:
我有两个表交易和产品,在产品表上我只有产品描述,可以分配给一个多于多个交易,现在我想在交易页面上显示产品描述,但我的关系无法正常工作, product table
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class Product extends Model
{
//
protected $guarded=[];
public function deals()
{
return $this->belongsTo(Deal::class,'product_slug','product_id');
}
}
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class Deal extends Model
{
//
protected $guarded=[];
public function products()
{
return $this->hasMany(Product::class,'product_slug','product_id');
}
}
这就是我在控制器中调用函数的方式
public function index()
{
$title='Today Deal';
$deals=Deal::with('products')->get();
// dd($deals);
// return;
return view('welcome',compact('title','deals'));
}
当我执行 dd 时我可以看到产品数据,但在查看时我在访问产品数据时收到此错误 未定义属性:Illuminate\Database\Eloquent\Relations\HasMany::$title(查看:D:\xampp\htdocs\bargin\resources\views\welcome.blade.php) 这就是我在交易循环中访问产品数据的方式
<p>{{$deal->products()->title}}</p>
【问题讨论】: