У Laravel Set leleted_at есть проблема с подразделениями [дублировать]Php

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 У Laravel Set leleted_at есть проблема с подразделениями [дублировать]

Сообщение Anonymous »

Первое, прежде всего, у меня есть Repositories и Services в моем приложении Laravel.
Основная проблема
Моя основная проблема заключается в том, что Laravel не совместима с подразделениями и не поддерживает их хорошо! < /p>

[*] Я использую ниже версии :

Laravel v10.16.1
[*] Php 8.1


я получил deleted_at , updated_at и create_at columns
< /li>
< /ul>
проблема с deleted_at < /code> < /h4>
Если я использую признак Soft Delete и хочу deleted_at для автоматического обработки, когда я использую подпрограммы, как ниже, он покажет мне ошибку:

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

class UserRepository {
...

public function getWhere(array $columns, Builder $where)
{
$query = $this->model
->newQuery()
->when($where, function (Builder $query) use ($where) {
$query->fromSub($where, 'sub');
});

return $query->get($columns);
}

...
}
< /code>
ERROR: `'deleted_at' column does not exists`
< /code>
[b]Problematic query Example[/b]
SELECT * FROM (SELECT * FROM `users` WHERE `name`='john') AS `sub` WHERE `users`.`deleted_at` IS NULL
< /code>
In above query, deleted_at
не существует, но он существует в базе данных, и это связано с подсчетом подзадачи. Автоматические мягкие удаления и делайте это вручную, как ниже: < /p>

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

class UserRepository {
...

public function getWhere(array $columns, Builder $where)
{
$prefix = $this->model->getTable();
$query = $this->model
->newQuery()
->when($where, function (Builder $query) use ($where, &$prefix) {
$prefix = 'sub';
$query->fromSub($where, $prefix);
});

$query->whereNull($prefix . '.deleted_at');

return $query->get($columns);
}

...
}
< /code>

EDIT
I changed my example because I was doing wrong for update
Работа и updated_at не проблематичны в моем случае, но у подколов и установки leteted_at есть проблема.


Подробнее здесь: https://stackoverflow.com/questions/768 ... subqueries
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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