【发布时间】:2021-06-11 12:36:39
【问题描述】:
我有一个简单的问题,但我在网上找不到任何答案。
class Product extends Model
{
use HasFactory;
public function variants()
{
return $this->hasMany(Variant::class);
}
}
>>> $p->variants();
=> Illuminate\Database\Eloquent\Relations\HasMany {#4331}
>>> $p->variants;
=> Illuminate\Database\Eloquent\Collection {#4310
all: [
App\Models\Variant {#4319
id: "1",
name: "VariantOne",
created_at: null,
updated_at: null,
quantity: "2",
product_id: "1",
},
],
}
为什么当我使用方法 variants() 时,我得到了空的 HasMany 对象,但是当我只使用 variants 属性时,我得到了一个带有正确数据的 Collection?
variants 的属性是如何出现的?我的Product 类中没有定义它。
【问题讨论】:
标签: php laravel oop eloquent relational-database