我有属于类别表的子类别表的请求表,那么我如何从请求模型中获取类别的属性?
tables
->requests
id
name
subcategory_id
->subcategories
id
name
category_id
->categories
id
name
color
所以我需要从请求模型中获取颜色,我已经创建了树模型
class Request extends Model
{
public function user()
{
return $this->belongsTo(User::class)->get();
}
public function color()
{
$somemagicstuff;
return $color;
}
}
最佳答案
您需要定义您的关系:
# Request.php
class Request extends Model
{
public function subcategory()
{
return $this->belongsTo(Subcategory::class);
}
}
-
# Subcategory.php
class Subcategory extends Model
{
public function category()
{
return $this->belongsTo(Category::class);
}
}
那么你可以这样做:
$color = Request::first()->subcategory->category->color;
当然,您可以将计算属性添加到您的 Request
类以方便访问(请记住,这可能会增加查询的数量):
# Request.php
class Request extends Model
{
public function subcategory()
{
return $this->belongsTo(Subcategory::class);
}
public function getColorAttribute()
{
return $this->subcategory->category->color;
}
}
然后:
$color = Request::first()->color;
关于php - 如何在 Eloquent 中获取一个属性抛出一个表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55836406/