Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
почему не добавить поле занята машина или нет?
это не безопасно, нет гарантии что в момент удаления юзера, или в момент смены машины у юзера, все будет проставлено как нужно. Тут вопрос не тока в том что программист забудет, а в том что в случае лага на сервере может проявится висяк который будет накапливаться.
<?
две таблицы
аккаунты
ид
имя
ид_машины(уникальный)
машины
ид
номер машины
каждому человеку уникальная машина, не может быть у двух одинаковой, это решено на уровне базы.
машин там есть с избытком.
Теперь задача появился новый человек, как мне брать ему машину я делаю так.
$alredyuse = \App\Acaunt::whereNotNull("car_id")->pluck("car_id")->all();
// выбираются все машины уже занятые
$car = \App\Car::whereNotIn('id', $alredyuse)->firstOrFail();
//берем тачку исключя занятые
сейчас у мня в первой 100 и во второй 1500 записей и уже в момент запроса проц умирает, чувствуется как начинает крутить на 100%, хотя он i7-6700K относительно современный, а планируется гдет 10к и 20к записей.
Вопрос как решаются такие задачи вообще в крупных системах, то есть как вбирать незанятые. Мне кажется ошибка тут даже в первой строчке, нельзя делать такие запросы в коде чтобы в памяти переменной была вся таблица фактически.
Да это уж от тебя зависит) Можно 6 таблиц, можно хранить json или enum
А енум это значит перечень где то в коде, где например? прямо в контролерах?
Понятно что есть разные способы вопрос такой, по какому алгоритму действуют опытные разработчики, когда выбирают способ.
Организация БД, сущность с 5 комбобоксами неужели 6 таблиц?
Например есть у нас сущность автомобиль, у него есть 5 свойств с перечнем, то есть комбобоксы, у каждого по 2-3 варианта. и что вот такая небольшая структура займет 6 таблиц в базе? то есть 1 для машин и 5 pivot таблиц.
Это не в ларавеле проблема, а в том что браузер для этого и создан чтобы пользователь безопасно гулял по нету.
Решение в 2 действия, на сервере получаете нужный файл, а из js уже получаете с вашего же сервера.
Есть случай когда модель к миграции не нужна? Почему сразу не создается?