【问题标题】:Laravel 4 update table with array of recordsLaravel 4 使用记录数组更新表
【发布时间】:2014-10-13 23:50:56
【问题描述】:

刚刚使用记录数组填充表格:

Floorplan::insert($floorplanMappedArray);    

尝试通过简单地将“插入”与“更新”交换来更新表:

Floorplan::update($floorplanMappedArray);    

我收到的错误消息:

“不应静态调用非静态方法 Illuminate\Database\Eloquent\Model::update(),假设 $this 来自不兼容的上下文”。

我错过了什么?

【问题讨论】:

    标签: laravel-4


    【解决方案1】:

    错误信息是不言自明的。

    Non-static method Illuminate\Database\Eloquent\Model::update() should not 
    be called statically, assuming $this from incompatible context.
    

    如果方法未声明为静态,则不能调用像 Class::method() 这样的方法。

    你有两种可能:

    将方法声明为静态或创建Floorplan 的实例:

    Class Floorplan {
        public static function update() {
            // code goes here
        }
    }
    
    Floorplan::update();
    

    或者:

    Class Floorplan {
        public function update() {
            // code goes here
        }
    }
    
    $floorPlan = new Floorplan();
    $floorPlan->update();
    

    【讨论】:

    • 创建了一个新的 Floorplan 实例,并且更新方法有效。
    猜你喜欢
    • 2012-11-21
    • 2015-12-17
    • 1970-01-01
    • 1970-01-01
    • 2014-12-08
    • 1970-01-01
    • 2023-03-28
    • 2021-02-18
    • 1970-01-01
    相关资源
    最近更新 更多