Странный прослушиватель Laravel DB заставляет вставку запроса возвращать неправильный идентификаторPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Странный прослушиватель Laravel DB заставляет вставку запроса возвращать неправильный идентификатор

Сообщение Anonymous »

Я столкнулся со странной проблемой, возможно, из-за ошибки или моей ошибки, когда Eloquent create возвращает неверный идентификатор. Это происходит, когда я помещаю DB::listen в класс поставщика услуг и сохраняю в базе данных все запросы, обнаруженные в DB::listen.
НО странно, когда я пытаюсь вставить такого пользователя: :create($input), он возвращает идентификатор QueryActivity, а не идентификатор пользователя. Например, идентификатор должен быть 20, но он возвращает 100 из таблицы QueryActivity
журналы из User::create($input)
[2020-02-23 12:42:46] постановка.ИНФО: {"first_name":"Тестирование","last_name":"Tesgin","username":"Тестирование","staff_id":"12313123","mobile_pho ne":"01231232323","active":true,"email":"testing@gmail.com","create_by":1,"updated_at":"2020-02-23 12:42:46","create_at":"2020-02-23 12:42:46","id":123,"fake_password":"5ebe2294ecd0e0f08eab7690d2a6ee69 "
Над журналами выделен только неправильный идентификатор. Остальные детали верны.

Красноречиво

Код: Выделить всё

$user = User::create($input);
И в моем классе ObserverServiceProvider.

Код: Выделить всё

    DB::listen(function ($query) {
try {
if (preg_match('(query_activities)', $query->sql) == 0) {
QueryActivity::createUsingQueryBuilder([
'connection_name' => $query->connectionName,
'time_taken' => $query->time,
'query' => $query->sql,
'bindings' => Utils::aesEncrypt(json_encode($query->bindings)),
'created_at' => now(),
'updated_at' => now(),
]);
}
} catch (\Exception $exception) {
LogCentre::channel('query')->info($exception->getMessage());
}
});
в классе QueryActivity

Код: Выделить всё

class QueryActivity extends Model
{
protected $fillable = [
'connection_name',
'time_taken',
'query',
'bindings'
];

public static function createUsingQueryBuilder(array $activity)
{
DB::connection((new self)->getConnectionName())->table((new self)->getTable())->insert($activity);
}
}
Кто-нибудь сталкивался с этой проблемой?

Подробнее здесь: https://stackoverflow.com/questions/603 ... n-wrong-id
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»