У нас есть проект с красноречивым (без Laravel).
Недавно мы обновились до php 7.4, а затем Iluminate / database до 7.9.2
В сидере, когда мы вставляем данные в модель без SofDelete, это работает.
Но когда модель имеет softdelete, она зависает.
Пример роли:
use Illuminate\Database\Eloquent\Model as Eloquent;
class Role extends Eloquent {
protected $table = 'usuarios_roles';
public $timestamps = true;
...
$admin = Role::create(array(
'nombre' => 'Admin',
'vista' => '1',
'path' => '/admin/clientes/',
'editables' => 0
));
Работает нормально.
Пример пользователя:
require_once('EloquentRegAcc.php');
use Illuminate\Database\Eloquent\SoftDeletes;
class Usuario extends EloquentRegAcc
{
use SoftDeletes;
public $timestamps = true;
protected $dates = ['deleted_at'];
protected $table = 'usuarios';
...
$usuario_admin = Usuario::create(array(
'id_role' => $admin2->id,
'nombre' => 'Admin',
'email' => $email,
'password' => $password2,
'permissions' => '{}'
));
Это дает нам ошибку:
PHP Fatal error: Allowed memory size of 4294967296 bytes exhausted (tried to allocate 20480 bytes) in /home/vagrant/code/project/vendor/illuminate/database/Eloquent/SoftDeletes.php on line 36
Мы пытаемся обновить Vagrant RAM с 2 ГБ до 4 ГБ и установить ini_set ('memory_limit', '4096M'), но никак.
В базе данных есть роли, но не пользователи.
Тот же код с php 7.1 и Iluminate / database 5 .x работает нормально.
неважно, пользовательская или другая таблица; если в модели установлено SoftDelete, зависает.