Size: a a a

2020 December 05

A

Anton in phpGeeks
First Last
where in же
Да, у меня в эту же сторону мысль. Вопрос в какой момент и как мне запрос делать, если не в методе delete.
источник

V

Vasily in phpGeeks
говно продаёт говно. как иронично.
источник

FL

First Last in phpGeeks
Anton
Да, у меня в эту же сторону мысль. Вопрос в какой момент и как мне запрос делать, если не в методе delete.
Все плохо
источник

A

Anton in phpGeeks
Что именно плохо?
источник

A

Anton in phpGeeks
А как хорошо?
источник

FL

First Last in phpGeeks
Anton
Что именно плохо?
Твои познания плохо)

$users = [];

for($i = 1; $i < 15; $i++) {
   $users[] = ['id' => $i];
}

echo 'delete from users where id in (' . implode(',', array_column($users, 'id')) . ')';

->
delete from users where id in (1,2,3,4,5,6,7,8,9,10,11,12,13,14)
источник

A

Anton in phpGeeks
Так я же это и предложил чуть выше )
источник

FL

First Last in phpGeeks
Anton
Так я же это и предложил чуть выше )
Ты предложил сделать метод delete, который будет делать пометку об удаление, а затем каким-то образом через какой-то статический метод какого-то класса будет происходить запрос к бд
источник

FL

First Last in phpGeeks
Ты по uow течешь?
источник

A

Anton in phpGeeks
Пометка об удалении это наполнение массива идшниками. А в статическом методе вот ээтот самый запрос с implode. Это я имел ввиду.
источник

FL

First Last in phpGeeks
И что тебе даст такое решение?
источник

A

Anton in phpGeeks
Один запрос в базу вместо сотен.
источник

FL

First Last in phpGeeks
Чем твое решение лучше, чем
function describeBulkDelete($collection, string $column = 'id'): string {
  return 'delete from users where id in (' . implode(',', array_column($collection, $column)) . ')';
}
источник

FL

First Last in phpGeeks
Anton
Один запрос в базу вместо сотен.
Мы и не говорим о множестве запросов...мы говорим про твою реализацию
источник

A

Anton in phpGeeks
First Last
Чем твое решение лучше, чем
function describeBulkDelete($collection, string $column = 'id'): string {
  return 'delete from users where id in (' . implode(',', array_column($collection, $column)) . ')';
}
Ну вообще то я то же самое и предложил.
источник

A

Anton in phpGeeks
First Last
Мы и не говорим о множестве запросов...мы говорим про твою реализацию
А вот как лучше реализовать в этом мой вопрос.
источник

S

SarcasmIO in phpGeeks
Anton
Привет. Есть объект, представляющий собой одну запись в БД, преимущественно с геттерами. Таких объектов может быть сотня. Нужно реализовать метод delete, который будет удалять строку в базе, соответствующую объекту. Проблема в том, что таких объектов могут быть сотни и если в методе delete для каждого объекта делать отдельный запрос в базу, это будет очень долго. Вопрос как это правильнее оптимизировать?
это не ответственность этого объекта удалять записи вне его кругозора
источник

S

SarcasmIO in phpGeeks
First Last
Чем твое решение лучше, чем
function describeBulkDelete($collection, string $column = 'id'): string {
  return 'delete from users where id in (' . implode(',', array_column($collection, $column)) . ')';
}
юзаешь вот это вне пределов твоей модельки где $collection Post[] или что там у тебя
источник

FL

First Last in phpGeeks
Anton
А вот как лучше реализовать в этом мой вопрос.
Внедри к себе uow, там будет решение похожее на твое с пометками и flush
источник

S

SarcasmIO in phpGeeks
First Last
Внедри к себе uow, там будет решение похожее на твое с пометками и flush
это не задача uow
источник