我正在使用Laravel最新版本进行小型项目,我有两个模型Building和Apartment 正如我在底部看到的,我已经在两个模型之间建立了关系。
我想以这种方式获得结果。
building_number x
apartment_number x
apartment_number y
apartment_number z
building_number y
apartment_number x
apartment_number y
apartment_number z
这是我的模特:
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
use App\Apartment;
class Building extends Model
{
protected $guarded = [];
public function apartment(){
return $this->hasMany(Apartment::class);
}
}
//
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
use App\Building;
class Apartment extends Model
{
protected $guarded = [];
public function building(){
return $this->belongsTo(Building::class);
}
}
我的控制器功能
public function index()
{
$apartments = Apartment::with('building')->get();
return response()->json($apartments);
}
我现在的结果:
[
{
"id":1,
"apartment_number":"1",
"building_id":1,
"created_at":"2020-08-03T08:46:36.000000Z",
"updated_at":"2020-08-03T08:46:36.000000Z",
"building":{
"id":1,
"building_number":"1"
}
}
]
答案 0 :(得分:3)
当您希望在该层次结构中进行操作时,只需进行相反操作即可。您在哪里查询建筑物并包括所有基础公寓。
BMI_CONVERSION_FACTOR = 703
bmi = case measurement_system.downcase
when 'i'
BMI_CONVERSION_FACTOR * (w / (h**2))
when 'm'
w / (h**2)
else
raise "Unknown measurement system: #{measurement_system}"
end