调用函数中的另一个函数

时间:2017-09-26 05:28:13

标签: laravel laravel-5 laravel-5.3

在laravel中我想调用函数内的一个函数来进行递归。我抓住了路径error.how来调用函数&f 39;递归in tableFetch'

class queryTest extends Controller
{
 public function tableFetch() {
   recursive();
 }
 function recursive(){
   //condition
 }
}

我想这样做是为了检查给定人员的经理,然后在查询中获取获取值的经理,所以需要递归

3 个答案:

答案 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
     }
}