方括号上的Laravel工匠迁移错误

时间:2014-05-01 03:48:15

标签: php laravel laravel-4 database-migration

我试图通过Laravel的迁移文件生成我的数据库,但是当我尝试这样做时,我收到以下错误:

PHP Parse error:  syntax error, unexpected '[', expecting ')' in D:\wamp24\www\laravel\app\controllers\SomeController.php

这让我发疯,我可以在我的控制器中注释掉代码时运行迁移文件,但我无法继续这样做。

我也不想重写我的所有代码,因为我几乎每次声明一个数组时都使用方括号(使用方括号比输入'数组(〜)&#快得多39; ...)

我在wampserver(2.4)上使用 PHP 5.3.13 ,在Win 8.1上使用apache 2.2.22。

Laravel Framework版本4.0.10。

给出错误的代码如下:

class SomeController extends BaseController {
    public function someFunc() {
        $var= Model::create([
            'title' => Input::get('title'),
            'description' => Input::get('description'),
        ]);
    }
}

知道此错误解决方案的任何人?

3 个答案:

答案 0 :(得分:5)

这是因为您的PHP版本不支持[]数组语法,请尝试:

$var = Model::create(array(
    'title' => Input::get('title'),
    'description' => Input::get('description')
));

PHP < 5.4不支持。升级PHP版本或使用array()代替[]

答案 1 :(得分:0)

我认为这与格式化有关。

尝试:

class SomeController extends BaseController {
public function someFunc() {
    $var= Model::create(array(
        'title' => Input::get('title'),
        'description' => Input::get('description'),
    ));
  }
}

这应该有效。

答案 2 :(得分:0)

php 5.3.x不支持短数组,试着像这样改变它

Model::create(array(
            'title' => Input::get('title'),
            'description' => Input::get('description')
    ));