加入雄辩的orm Php laravel
我有一个表单,用户必须从一个表到最后一个表进行选择,即加入雄辩的orm Php laravel,php,mysql,laravel,orm,eloquent,Php,Mysql,Laravel,Orm,Eloquent,我有一个表单,用户必须从一个表到最后一个表进行选择,即 buisnessarea->katogorie->name->genauer->geometrie->ergebnisse 我有一个类似这样的数据库 buisnessarea **buisnessarea_katogorie(pivot table for buisnessarea and katogorie )** katogorie **katogorie_name(pivot table for kat
buisnessarea->katogorie->name->genauer->geometrie->ergebnisse
我有一个类似这样的数据库
buisnessarea
**buisnessarea_katogorie(pivot table for buisnessarea and katogorie )**
katogorie
**katogorie_name(pivot table for katogorie and name )**
name
**genauer_name(pivot table for name and genauer)**
genauer
**genauer_geometrie(pivot table for genauer and geometrie )**
geometrie
ergebnisse(foreign keys for name and geometrie)
现在我想连接所有这些表。目的是。我想从几何角度得到建筑面积。
e、 如果我得到几何id为10,那么我想得到导致几何id为10的建筑面积
型号
Buisnessarea
public function katogorie()
{
return $this->belongsToMany('App\Models\Katogorie')->withTimestamps();
}
Katogorie
public function buisnessarea()
{
return $this->belongsToMany('App\Models\Buisnessarea')->withTimestamps();
}
public function name()
{
return $this->belongsToMany('App\Models\Name');
}
public function katogorie()
{
return $this->belongsToMany('App\Models\Katogorie');
}
public function genauer()
{
return $this->belongsToMany('App\Models\Genauer');
}
public function ergebnisse()
{
return $this->hasMany('App\Models\Ergebnisse');
}
public function genauer()
{
return $this->belongsToMany('App\Models\Genauer');
}
public function ergebnisse()
{
return $this->hasMany('App\Models\Ergebnisse');
}
public function stufen()
{
return $this->hasMany('App\Models\Stufen');
}
public function name()
{
return $this->belongsTo('App\Models\Name');
}
public function geometrie()
{
return $this->belongsTo('App\Models\Geometrie');
}
public function katogorie()
{
return $this->hasManyThrough('Katogorie','Name',)
}
名称
public function buisnessarea()
{
return $this->belongsToMany('App\Models\Buisnessarea')->withTimestamps();
}
public function name()
{
return $this->belongsToMany('App\Models\Name');
}
public function katogorie()
{
return $this->belongsToMany('App\Models\Katogorie');
}
public function genauer()
{
return $this->belongsToMany('App\Models\Genauer');
}
public function ergebnisse()
{
return $this->hasMany('App\Models\Ergebnisse');
}
public function genauer()
{
return $this->belongsToMany('App\Models\Genauer');
}
public function ergebnisse()
{
return $this->hasMany('App\Models\Ergebnisse');
}
public function stufen()
{
return $this->hasMany('App\Models\Stufen');
}
public function name()
{
return $this->belongsTo('App\Models\Name');
}
public function geometrie()
{
return $this->belongsTo('App\Models\Geometrie');
}
public function katogorie()
{
return $this->hasManyThrough('Katogorie','Name',)
}
Genauer
public function name()
{
return $this->belongsToMany('App\Models\Name');
}
public function geometrie()
{
return $this->belongsToMany('App\Models\Geometrie');
}
几何图形
public function buisnessarea()
{
return $this->belongsToMany('App\Models\Buisnessarea')->withTimestamps();
}
public function name()
{
return $this->belongsToMany('App\Models\Name');
}
public function katogorie()
{
return $this->belongsToMany('App\Models\Katogorie');
}
public function genauer()
{
return $this->belongsToMany('App\Models\Genauer');
}
public function ergebnisse()
{
return $this->hasMany('App\Models\Ergebnisse');
}
public function genauer()
{
return $this->belongsToMany('App\Models\Genauer');
}
public function ergebnisse()
{
return $this->hasMany('App\Models\Ergebnisse');
}
public function stufen()
{
return $this->hasMany('App\Models\Stufen');
}
public function name()
{
return $this->belongsTo('App\Models\Name');
}
public function geometrie()
{
return $this->belongsTo('App\Models\Geometrie');
}
public function katogorie()
{
return $this->hasManyThrough('Katogorie','Name',)
}
Ergebnisse
public function buisnessarea()
{
return $this->belongsToMany('App\Models\Buisnessarea')->withTimestamps();
}
public function name()
{
return $this->belongsToMany('App\Models\Name');
}
public function katogorie()
{
return $this->belongsToMany('App\Models\Katogorie');
}
public function genauer()
{
return $this->belongsToMany('App\Models\Genauer');
}
public function ergebnisse()
{
return $this->hasMany('App\Models\Ergebnisse');
}
public function genauer()
{
return $this->belongsToMany('App\Models\Genauer');
}
public function ergebnisse()
{
return $this->hasMany('App\Models\Ergebnisse');
}
public function stufen()
{
return $this->hasMany('App\Models\Stufen');
}
public function name()
{
return $this->belongsTo('App\Models\Name');
}
public function geometrie()
{
return $this->belongsTo('App\Models\Geometrie');
}
public function katogorie()
{
return $this->hasManyThrough('Katogorie','Name',)
}
假设您使用的是Laravel 5,您可以按照以下方式进行操作:
$geometrie = Geometrie::with("genauer.name.katogorie.buisnessarea")->find($id);
$buisnessareaOfGeometrie = data_get($geometrie, "genauer.name.katogorie.buisnessarea");
查看更多详细信息 假设您使用的是Laravel 5,您可以按照以下方式进行操作:
$geometrie = Geometrie::with("genauer.name.katogorie.buisnessarea")->find($id);
$buisnessareaOfGeometrie = data_get($geometrie, "genauer.name.katogorie.buisnessarea");
查看更多详细信息 对不起,我弄错了。。现在添加了模型..对不起,我的错误。。现在添加了模型..谢谢您的回复。当我dd($buisnessareaOfGeometrie)时;它返回null如果您确定那里应该有数据,那么我建议一次执行一个步骤(执行
geometry::find($id)
thengeometry::with(“genauer”)->find($id)
),并在每个步骤检查关系是否按预期加载。geometry::with(“genauer”)->find($id)).geometrie和genauer之间有多对多关系,因此它们已经在工作。我的问题是,例如geometrie和名称或geometrie和buisnessarea之间没有直接关系,因此我如何才能获得数据..阅读:特别是嵌套的急切加载感谢您的回复。当我dd($buisnessareaOfGeometrie)时;它返回null如果您确定那里应该有数据,那么我建议一次执行一个步骤(执行geometry::find($id)
thengeometry::with(“genauer”)->find($id)
),并在每个步骤检查关系是否按预期加载。geometry::with(“genauer”)->find($id)).geometrie和genauer之间有多对多关系,因此它们已经在工作。我的问题是,例如geometrie和名称或geometrie和buisnessarea之间没有直接关系,因此我如何获取数据