我试图从数据库中获得某种结果集合,仍然利用了雄辩。如何更深入地使用Laravel 5.2中的雄辩hasMany?
我有一个名为as_inspections桌,叫as_green_areas和一张桌子称为as_assets
每次检查都有一个绿色区域,每个绿地面积有许多资产。
当我取检查我做这样的事:
检验模型
namespace App;
use Illuminate\Database\Eloquent\Model;
class Inspection extends Model
{
protected $table = 'as_inspections';
public function greenAreas()
{
return $this->hasOne('App\GreenArea', 'id');
}
}
GreenArea模型
namespace App;
use Illuminate\Database\Eloquent\Model;
class GreenArea extends Model
{
protected $table = 'as_green_areas';
}
路线
Route::get('inspections', ['middleware' => 'cors', function()
{
$isp = new \App\Inspection();
return $isp
->with('greenAreas')
->get();
}]);
现在,我想d Ø是这样的:
Route::get('inspections', ['middleware' => 'cors', function()
{
$isp = new \App\Inspection();
return $isp
->with('greenAreas')
->with('assets') // where each green area has its own set of assets
->get();
}]);
写在评论,我想获得的全部资产为绿化面积,然后将所有为检查的绿地。
我该怎么做? 谢谢!
嗨!感谢这个答案!我目前正试图实施它。只是一个问题。是greenareaid,检查外键?在as_inspections表中,我有一个名为green_area_fk的fk,我应该用green_area_fk替换检验ID还是将检验表的主键保留为ID?我很困惑这些方法的可选参数... – Caius
它的工作!谢谢!如果你有时间链接我一些资源,以更多地了解像hasMany等雄辩方法的可选参数,那将是惊人的! – Caius
看到我上面更新的代码,我已经简单地改变了belongsTo方法,在你的情况下你可以像它一样,你有一个检查绿色区域,因为你在检查表中保留外键,所以一定要注意belongsTo关系是定义的你的外键所在的地方... 最好的教程是Laravel.com,文档,我一直指它已经超过1年,并完成了一个ERP系统...... –