我有2种功能的模型。假设模型的名称为Cars。我试图调用一个返回数组的函数brand,以便可以在另一个getBrand函数中使用它。

public static function getBrand($data) {
    $brandVariable = $this->brand();
    for ($i=1; $i < count($brandVariable ) ; $i++) {
        //do something
    }
}

public static function brand() {
    $arrayValues = array(
         1 => 'Brand A',
         2 => 'Brand B',
    );
    return arrayValues;
}

由于这些值在brand函数中,因此我需要在getBrand中传递它。

我在for循环中遇到错误。我尝试了另一个文件(本地PHP而不是Laravel),它工作正常。但是在Laravel中,并没有得到预期的结果。

最佳答案

使用Cars::brand,因为您已将函数声明为静态

public static function getBrand($data=null) {
    $Cars = new Cars();
    $brandVariable = $Cars::brand();
    for ($i=1; $i < count($brandVariable ) ; $i++) {
        //do something
    }
}

现场演示:https://eval.in/856708

要么
public static function getBrand($data=null) {
    $brandVariable = Cars::brand();
    for ($i=1; $i < count($brandVariable ) ; $i++) {
        //do something
    }
}

现场演示:https://eval.in/856712

10-04 21:59