Rey*_*nte 2 php laravel laravel-5
我有一个有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;
}
Run Code Online (Sandbox Code Playgroud)
由于值是在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
}
}
Run Code Online (Sandbox Code Playgroud)
现场演示:https://eval.in/856708
要么
public static function getBrand($data=null) {
$brandVariable = Cars::brand();
for ($i=1; $i < count($brandVariable ) ; $i++) {
//do something
}
}
Run Code Online (Sandbox Code Playgroud)
现场演示:https://eval.in/856712
您正在brand静态函数内部调用,并且$this在声明为 的方法内部不可用static。
由于brand被声明为静态函数,您可以使用以下方法之一来调用该函数
如果在班级内
self::brand();
Run Code Online (Sandbox Code Playgroud)
或者
static::brand();
Run Code Online (Sandbox Code Playgroud)
来自课堂外
ClassName::brand();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2609 次 |
| 最近记录: |