我如何获得满足特定城市标准的所有单位(其中城市是 属性 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 的非常好的解释: