Создайте или обновите в Laravel 5.6 с сообщением об исключении «fillable» - PullRequest
0 голосов
/ 01 мая 2018

У меня есть следующий код: -

$token = encrypt($guuid);
$tokenDetail = AdminConfig::select('config_value')
                ->where(array(
                        'config_key'    => 'expiry_duration',
                        'is_delete'     => 0
                ))->first();
$expiryDuration = $tokenDetail['config_value']; 
$expiryTime = date("dmyHis", time() + $expiryDuration);
$created_at = date('Y-m-d H:i:s');
$tokenUpdated = AppToken::updateOrCreate(array(
                             'user_id' => $user_id, 
                             'token' => $token),
                               array('expiry'=>$expiryTime,
                               'created_date'=>$created_at,
                               'modified_date'=>$created_at)
                    );
if($tokenUpdated)
{
    $return['status'] = 1;
    $return['token'] = $token;
}
else
{
    $return['status'] = 0;
    $return['token'] = $token;
}
return $return;

Я использую метод updateOrCreate, поэтому, если запись существует, она будет обновлена. Иначе оно будет создано.

Я получаю сообщение об исключении,

Add [user_id] to fillable property to allow mass assignment on [App\Http\Model\AppToken].

Ответы [ 2 ]

0 голосов
/ 17 июля 2018

Вы можете сделать это, просто добавив этот код в файл модели: -

protected $guarded = [];

Как это

class AppToken extends Model
{
     protected $guarded = [];
     public function fun_name()
     {
          //function code 
     }
}

Надеюсь, это поможет:)

0 голосов
/ 01 мая 2018

Чтобы использовать метод updateOrCreate, как вы это сделали, вы должны добавить user_id к свойству fillable в классе AppToken, как показано ниже.

class AppToken extends Model
{
    /**
    * The attributes that are mass assignable.
    *
    * @var array
    */
    protected $fillable = [
        'user_id', 'token'
    ];
}

Более подробная информация по этой теме доступна здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...