我有几个关系类如下:
<util:ctlStaffPicker>
我想要实现的目标是通过class ProductModel extends Model
{
function values()
{
return $this->belongsToMany('App\Models\ParameterValue', 'model_values', 'model_id', 'value_id');
}
}
class ParameterValue extends Model
{
function parameter()
{
return $this->belongsTo('App\Model\Parameter');
}
}
class Parameter extends Model
{
public $timestamps = false;
function values()
{
return $this->hasMany('App\Models\ParameterValue');
}
}
实体从Parameter
类中获取所有ProductModel
个实体。有没有办法实现这一点而不循环遍历所有值并按ParameterValue
对它们进行分组?我希望实现这样的目标:
parameter_id
P上。 S.我很抱歉,犯了一个错误,class ProductModel extends Model
{
function values()
{
return $this->belongsToMany('App\Models\ParameterValue', 'model_values', 'model_id', 'value_id');
}
function parameters()
{
/** A list of App\Models\Parameter entities that corresponds to the model via values */
return ???;
}
}
ParameterValue
belongsTo
,而不是Parameter
。
答案 0 :(得分:0)
来自docs
&#34;有很多通过&#34;关系为通过中间关系访问&gt;远距离关系提供了方便的捷径。
class ProductModel extends Model
{
function parameters()
{
return $this->hasManyThrough('App\Models\Parameter', 'App\Models\ParameterValue');
}
}