我应该从Property
模型获得什么样的关系:
name
default_characteristics
字段
value
characteristic_value
字段
我该怎么做?我可以用一种关系来做吗?
在添加characteristic_value
表格之前,在value_id
来自property_characteristics,我只有字符串value
字段,并且所有人都在使用。
public function characteristics() {
return $this->belongsToMany(
'Proactiv\DefaultCharacteristic',
'property_characteristics',
'property_id',
'characteristic_id')
->withPivot('value');
} // In Property model.
这是返回正确数据的RAW SQL:
SELECT a.name, c.name, d.value FROM properties a
INNER JOIN property_characteristics b
on a.id = b.property_id
INNER JOIN default_characteristics C
on b.characteristic_id = c.id
INNER JOIN characteristic_values d
on b.value_id = d.id
WHERE a.id = 1
AND c.name = 'rooms'
返回:属性名称,房间,3
答案 0 :(得分:0)
我认为使用Query Builder的最佳选择 或者你可以试试这个:
$property = new Property();
$property->with("DefaultCharacteristic.PropertyCharacteristic.CharacteristicValue")->where(...)->first();