在laravel中我想调用函数内的一个函数来进行递归。我抓住了路径error.how来调用函数&f 39;递归in tableFetch'
class queryTest extends Controller
{
public function tableFetch() {
recursive();
}
function recursive(){
//condition
}
}
我想这样做是为了检查给定人员的经理,然后在查询中获取获取值的经理,所以需要递归
答案 0 :(得分:1)
控制器不是一个好地方。相反,在你的人物模型(或任何你拥有的)中管理它。
每个人都有经理。因此,您的模型与自身具有HasOne关系。
人物模型:
public function manager()
{
return $this->hasOne(Person::class, 'manager_id');
}
现在,如果您需要检查给定人员的经理,直到您遇到某种情况,您可以在模型中完成并将结果输入控制器。
public function checkManager()
{
$manager = $this->manager
if (check manager)
return $manager;
//check for the last manager
return $this->manager ? $this->checkManager() : null;
}
内部控制器
function index()
{
$person = Person::find($id);
$manager = $person->checkManager();// this will do the recursive you need
}
答案 1 :(得分:1)
做这样的事情
B[i]
答案 2 :(得分:0)
你需要提出更准确的细节,因为Laravel有一些并发症。 试着这样做:
class queryTest extends Controller
{
public function tableFetch() {
$this->recursive();
}
public function recursive() {
//condition
}
}