Oleksandr
у меня есть "комнаты" со своим уникальным айди
Oleksandr
и при создании, нужно как-то вернуть его
Oleksandr
возможно ли так сделать?
Dmitriy
да . $model->id вернет созданный
Oleksandr
что вместо model писать?
Dmitriy
http://stackoverflow.com/questions/21084833/laravel-get-last-insert-id-using-eloquent
Dmitriy
laravel eloquent last inserted id
Dmitriy
запрос по которому я гуглил только что
Oleksandr
event::insert(['creator_id'=>$creator_id,'name'=>$event_name, 'place'=>$event_place, 'description'=>$event_description, 'time'=>$event_time, 'created_at'=>$event_created, 'updated_at'=>$event_created]);
Oleksandr
Oleksandr
я сделал то, что хотел таким способом: $event = event::whereRaw('id = (select max(`id`) from events)')->get();
Но если много юзеров будет одновременно создавать, то будет не точно это..
Дмитрий
Я может что не понял, но я думаю вот так нужно попробовать:
$event_id = DB::table('events')->insertGetId(['creator_id'=>$creator_id,'name'=>$event_name, 'place'=>$event_place, 'description'=>$event_description, 'time'=>$event_time, 'created_at'=>$event_created, 'updated_at'=>$event_created]);
Дмитрий
Или так попробуй:
$event_id = event::insertGetId(['creator_id'=>$creator_id,'name'=>$event_name, 'place'=>$event_place, 'description'=>$event_description, 'time'=>$event_time, 'created_at'=>$event_created, 'updated_at'=>$event_created]);
Дмитрий
С использованием Eloquent:
$event = new Event;
$event->creator_id = $creator_id;
$event->name = $event_name;
$event->place = $event_place;
$event->description = $event_description;
$event->time = $event_time;
$event->save();
$event->id; - id вставленной записи
Евгений
мне так через $event = Event::create([...]); больше нравится
Anonymous
Есть таблица с юзерами, поле balance.
Как апдейтнуть баланс всем юзерам на balance + 1.00?
Одним запросом - как при update получить значение поля и сплюсовать его с другим значением?
Без дополнительной выборки, циклов и т.д.
Юрий
Dr
всем привет
Dr
не продскажите почему composer глобально не работает. Вернее работает если пишу composer.phar. Переименовал в comopser, уже не работает. Ну как по докам все, только не работает
Егор
mv composer.phar /usr/local/bin/composer
Dr
ну, после этого не работает
Dr
я сейчас сделал через алиас, просто путь прописал до composer.phar
Dr
но это же ведь не дело
Viacheslav
На сайте композера хорошо все описано, все должно работать. Там и локально и глобально
Николай
Юрий
Да вроде ошибок нет, есть нотис. Вполне понятным переводным языком описанный
Юрий
Он мешает или что?
Юрий
Судя по тому что в консоли прямых ошибок нет, пхп работает и ларавел тоже - смотреть надо в сторону самого докера. Как поедположение - консоль запущена не от имени администратора, в результате чего докер не может повеситься на нужный порт. Или просто запущено приложение занимающее нужный порт, типа как скайп
Vadim
всем привет, юзаю валидатор при создании модели, но допустим есть метод апдейт, который может менять все поля, в том числе уникальные( в моём случае это email) если его сделать уникальным в валидаторе, то я не смогу изменить модель, записав туда старый email, если уберу уникальный валидатор, то тогда дам возможность сохранить с имейлом, который уже юзается, и это вызовет ошибку dublicate
Vadim
как быть то
Евгений
чо?
Евгений
как то не структурировано спрашиваешь
Евгений
тебе надо уник или не надо уник?
Vadim
ну есть уник мыло
Vadim
так
Vadim
у юзера
Vadim
я хочу его отредактировать
Vadim
захожу, там его старое мыло, я меняю, допустим пароль, мыло остаётся
Vadim
а если я хочу поменять мыло
Vadim
ввожу другое, жму сохранить
Vadim
если в базе такое же уже имеется, валидатор должен это сказать
Евгений
и?
Евгений
вопрос то в чем?
Евгений
там же есть исключения для уник
Vadim
подробнее можно?
Евгений
https://laravel.com/docs/5.4/validation#rule-unique
Vadim
спасибо
Arthur'); DROP TABLE Users;--
подскажите пожалуйста. в модели хочу сделать проверку, активна у пользователя подписка или нет. нужно поле expired_at взять и если дата там больше чем сейчас то пользователь подписан
Arthur'); DROP TABLE Users;--
не знаю как взять "себя"
Arthur'); DROP TABLE Users;--
ругается на
return $this->expired_at > Carbon::now();
(;¬_¬)
ну во первых зачем тебе true false если у тебя сравнение по умолчанию дает тру или фолс?
(;¬_¬)
достаточно return $this->expired_at>Carbon::now();
Arthur'); DROP TABLE Users;--
(;¬_¬)
это в модели?
Arthur'); DROP TABLE Users;--
(;¬_¬)
ну сделай перед return; dd($this->expired_at); и посмотри что у тебя в нем?
(;¬_¬)
👍
Arthur'); DROP TABLE Users;--
емае. у меня в миграции есть timestamp, и какого-то фига он срабатывает как updated_at
Arthur'); DROP TABLE Users;--
как нейтральным к изменениям полей сделать его ?
Arthur'); DROP TABLE Users;--
как created_at
Arthur'); DROP TABLE Users;--
я думаю что за ерунда...
Arthur'); DROP TABLE Users;--
поле есть в $fillable у модели. всё правильно?
Даниил
$model->timestamps = false
Даниил
Вроде так
Arthur'); DROP TABLE Users;--
получается пользователь имя меняет и подписка анулируется
Arthur'); DROP TABLE Users;--
они тоже в миграции есть
invariance
иногда я удивляюсь, что по ларке какие то вопросы возникают
invariance
а потом задаю сам :D
Arthur'); DROP TABLE Users;--
а можно с сохранением таймштампов дефолтных?
Arthur'); DROP TABLE Users;--
магия
Arthur'); DROP TABLE Users;--
даже вот в базе взять, просто изменить другое поле, и дата сбрасывается на текущую
Arthur'); DROP TABLE Users;--
Dmitriy
Arthur'); DROP TABLE Users;--
понял, нужно nullable
Юрий
https://laravel-news.com/laravel-5-5-error-views
Юрий
"важные изменения"