Как обновить значение в таблице в базе данных, laravel?

Я пытаюсь обновить значение в базе данных в laravel4. Это немного краеугольный случай, у меня есть только одна запись в базе данных с идентификатором сеанса. он используется для аутентификации в Facebook.

Это модель:

<?php

use Illuminate\Auth\UserInterface;
use Illuminate\Auth\Reminders\RemindableInterface;

    class Accesstoken extends Eloquent {

    public static function createpost($token)
    {
        $accesstoken = new Accesstoken;
        $accesstoken->accesstoken = $token;
        $accesstoken->save();
    }

    public static function update($token)
    {
        $accesstoken = Accesstoken::find(1);
        $accesstoken->accesstoken = $token;
        $accesstoken->save();
    }
}

Это вторая функция, которая неверна. Если я попытаюсь добавить его перед выполнением миграции, я не смогу выполнить миграцию, и если я попытаюсь назвать это так

Accesstoken::update($access_token);

Я получаю следующую ошибку, почему?

Не удается сделать нестатический метод Illuminate\Database\Eloquent\Model::update() статическим в классе Accesstoken


person Himmators    schedule 29.08.2013    source источник
comment
Eloquent\Model уже реализует метод public function update(array $attributes = array()), который не является статическим.   -  person IROEGBU    schedule 29.08.2013


Ответы (1)


В Eloquent уже есть метод update(). Попробуйте что-то вроде

<?php

use Illuminate\Auth\UserInterface;
use Illuminate\Auth\Reminders\RemindableInterface;

    class Accesstoken extends Eloquent {

    public static function createpost($token)
    {
        $accesstoken = new Accesstoken;
        $accesstoken->accesstoken = $token;
        $accesstoken->save();
    }

    public static function updateToken($token)
    {
        $accesstoken = Accesstoken::find(1);
        $accesstoken->accesstoken = $token;
        $accesstoken->save();
    }
}

И

Accesstoken::updateToken($access_token);
person Antonio Carlos Ribeiro    schedule 29.08.2013