Как избавиться от ошибки Неизвестный столбец updated_at при удалении табличных меток времени () - PullRequest
0 голосов
/ 27 сентября 2019

У меня есть эти две функции. Когда я пытаюсь вставить данные, я получаю эту ошибку

Column not found: 1054 Unknown column 'updated_at&#039 

Таким образом, он продолжает искать таблицы «созданы в» и «обновлены в», но я избавилсяоб этом раньше и заменил его на «присоединился» и «ушел».Как это исправить?

В BroadcastServiceProvider

Broadcast::channel('chat', function ($user) {
        $ip = Request::ip();
        $time = now();        
        if (auth()->check() && !session()->has('name'))  { 
            UserInfo::storeUser();
            session()->put('name',$user->name);
            return [
                'id' => $user->id,
                'ip' => $ip,
                'name' => $user->name,
                'joined' => $time,
            ];
        }
    });

Схема

   Schema::create('user_info', function (Blueprint $table) {
        $table->increments('id');
        $table->string('name');
        $table->string('ip');
        $table->string('joined');
        $table->string('leaved');
    });

В LoginController

 public function logout() {
    auth()->logout();
    session()->forget('name');
    session()->put('leaved',now());
       return redirect('/');
}

Ответы [ 4 ]

3 голосов
/ 27 сентября 2019

Что вам нужно, это добавить к модели UserInfo следующее:

public $timestamps = false
2 голосов
/ 27 сентября 2019
public $timestamps = false;

Добавьте этот код в Model.

1 голос
/ 27 сентября 2019

По умолчанию Eloquent ожидает, что в ваших таблицах будут столбцы created_at и updated_at.

Если вы не хотите, чтобы Eloquent автоматически управлял этими столбцами, установите для свойства $timestamps вашей модели значение false:

/**
 * Indicates if the model should be timestamped.
 *
 * @var bool
 */
public $timestamps = false;

Если вам нужно настроить именаиз столбцов, используемых для хранения меток времени, вы можете установить константы CREATED_AT и UPDATED_AT в вашей модели:

const CREATED_AT = 'creation_date';
const UPDATED_AT = 'last_update';

См. также:

Красноречивые модельные соглашения

0 голосов
/ 27 сентября 2019

Вот структура модели в laravel, где вы можете добавить метки времени, чтобы быть ложным.

    <?php

    namespace App;

    use Illuminate\Database\Eloquent\Model;

    class modelName extends Model    
    {      
        protected $table = 'tableName';

        public $timestamps = false; //add this line
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...