我如何获得满足特定城市标准的所有单位(其中城市是 属性 Table 中的一列)
How do i get all the Units that satisfy the criteria of being in a certain city (where city is a column in the Property Table)
属性 型号:
class Property extends Model {
use HasFactory;
protected $table = 'properties';
protected $fillable = ['name', 'address', 'city', 'poskod', 'state', 'facilities'];
/* Get all the units in this property */
public function units()
{
return $this->hasMany(Unit::class);
}
}
单位模型
class Unit extends Model {
use HasFactory;
protected $fillable = [
'user_id',
'property_id',
'type',
'no',
'owner',
'commission',
'agent',
'availability',
'bed',
'bath',
'sqft',
'rental',
'sale',
];
/* Get the property the unit is in */
public function property() {
return $this->belongsTo(Property::class);
}
}
我需要获取某个城市的所有单位。 city 是在 属性 中定义的,它是单位的外键。
我凭记忆做的,所以没有测试
$units = Unit::with('property')
->whereHas('property' function ($query) {
$query->where('city', 'Amsterdam');
});
关于预先加载和 whereHas 的非常好的解释:
属性 型号:
class Property extends Model {
use HasFactory;
protected $table = 'properties';
protected $fillable = ['name', 'address', 'city', 'poskod', 'state', 'facilities'];
/* Get all the units in this property */
public function units()
{
return $this->hasMany(Unit::class);
}
}
单位模型
class Unit extends Model {
use HasFactory;
protected $fillable = [
'user_id',
'property_id',
'type',
'no',
'owner',
'commission',
'agent',
'availability',
'bed',
'bath',
'sqft',
'rental',
'sale',
];
/* Get the property the unit is in */
public function property() {
return $this->belongsTo(Property::class);
}
}
我需要获取某个城市的所有单位。 city 是在 属性 中定义的,它是单位的外键。
我凭记忆做的,所以没有测试
$units = Unit::with('property')
->whereHas('property' function ($query) {
$query->where('city', 'Amsterdam');
});
关于预先加载和 whereHas 的非常好的解释: