This question already has answers here:
How to create a MySQL hierarchical recursive query
(15个答案)
8个月前关闭。
我的表与列有关系
relation_name_id是引用同一表中id的外键。
在laravel中,我将从id中选择两个输入,并需要从输入1到获取数据集合,直到使用外键递归方法到达第二个输入……这可能吗?
这样我就可以拿到收藏品了
每次加载
然后您可以:
注意这个解决方案没有考虑到特定的MySQL优化,所以可能是最慢的解决方案。
(15个答案)
8个月前关闭。
我的表与列有关系
id,user_name,relation_name,relation_name_id
relation_name_id是引用同一表中id的外键。
在laravel中,我将从id中选择两个输入,并需要从输入1到获取数据集合,直到使用外键递归方法到达第二个输入……这可能吗?
这样我就可以拿到收藏品了
最佳答案
此解决方案可能效率低下,但它将起作用:
class Relation extends Model {
protected $table = 'tbl_relations';
protected $with = [ 'related' ];
public function related() {
return $this->hasOne(Relation::class, 'relation_name_id');
}
}
每次加载
Relation
模型时,都会触发related
关系的加载。然后您可以:
Relation::find(1)->related->related->id;
注意这个解决方案没有考虑到特定的MySQL优化,所以可能是最慢的解决方案。
08-16 06:19