• Почему возникает ошибка в работе Eloquent?

    @yoda_code
    Проверьте.
    protected $fillable = [...]
    В модели Rating. Поле, которое вы пытаетесь обновить или создать должно быть в этом массиве.
    protected $fillable  = [
    'rateable_id', 
    ...
    ]
    Ответ написан
    Комментировать
  • Как в laravel установить кастомную дату в NULL?

    @yoda_code
    Если сделать timestamp не нулевую,

    $table->timestamp('start')

    то Внимание! в бд автоматически будут проставляться дефолтные значения current_timestamp при обновлении модели.

    Для возможности модификации timestamp типа колонки в миграции базы данных:
    Schema::table('my_table', function (Blueprint $table) {
                $table->timestamp('start')->nullable()->change();
    });


    нужно добавить в config/database.php строки:
    use Illuminate\Database\DBAL\TimestampType;
    
    'dbal' => [
        'types' => [
            'timestamp' => TimestampType::class,
        ],
    ],


    Или сделать миграцию прямым запросом к базе данных, тогда ничего менять в конфиге не нужно
    DB::statement('ALTER TABLE my_table MODIFY COLUMN start TIMESTAMP NULL');
    Ответ написан
    Комментировать
  • Как узнать, что работа с файлом остановилась?

    @yoda_code
    Вы описали задачи, но не описали каким образом конкретно их реализуете, какими средствами. Если через вызов внешних команд exec и подобные, то у этой функции есть код ответа, который она получает от внешней программы, как правило если выполнение успешное - код ответа 0.
    Либо вы можете написать дополнительную функцию, которая будет сообщать статус выполнения той или иной задачи в какой-то файл, например, json. А ожидающая программа в цикле может проверять статус завершения, и когда он нужный переходить к другому заданию.
    php последовательный язык и только сейчас переходит к асинхронности постепенно, так что да, команды выполняются одна за другой, ко второй команде не должен переходить, если первая не выполнена или не вернула исключение.
    Ответ написан