Adel
10.01.2017
18:28:15
Заведи массив с турами. и раскидай матчи по нему
root
10.01.2017
18:29:02
Вопрос уже решён
Alexandr
11.01.2017
08:59:12
У Тейлора (создателя Laravel) появился свой блог: https://medium.com/@taylorotwell
Adel
11.01.2017
14:44:03
Вчера читал :) он игрушку новую нашел. мерять комплексити кода
Google
Adel
11.01.2017
14:44:31
Самый длинный метод в ларке - 13 строк.
пожалуй самое прикольное из его поста
Alexander
12.01.2017
14:50:09
Всем привет!
Подскажите почему updateOrCreate всегда отрабатывает как Create?
Есть две модели, связь однин к одному.
Два метода в модели:
public function partnerProperties() {
return $this->hasOne('App\Models\Partner');
}
public function savePartnerProperties($data)
{
$this->partnerProperties()->updateOrCreate($data);
}
У модели Partner, один метод:
public function partner()
{
return $this->belongsTo('App\Models\User');
}
Чую опять где-то подвох :)
Valery
12.01.2017
14:54:36
а что в $data? там должно быть 2 массива
// If there's a flight from Oakland to San Diego, set the price to $99.
// If no matching model exists, create one.
$flight = App\Flight::updateOrCreate(
['departure' => 'Oakland', 'destination' => 'San Diego'],
['price' => 99]
);
Alexander
12.01.2017
15:00:48
Valery
12.01.2017
15:01:15
первый - на совпадение, второй - на обновление
Alexander
12.01.2017
15:01:51
эм.. я походу не так понял функцию что ли )
array:2 [▼
"work_time" => "с 9 до 19"
"warning" => "опасность"
]
Valery
12.01.2017
15:03:01
а что из этого меняется?
Alexander
12.01.2017
15:05:51
Я думал функция работает следующим образом, если записи нет, она создает, если есть - обновляет
Valery
12.01.2017
15:11:24
если сделать ->updateOrCreate(
["work_time" => "с 9 до 19",
"warning" => "опасность"],
["work_time" => "с 9 до 19",
"warning" => "безопасность"],
), то, обновит поле warning
Alexander
12.01.2017
15:12:38
Как то не логично передавать массив со старыми данными ( мне тогда проще проверить есть ли запись или нет
Valery
12.01.2017
15:13:36
а как он иначе может узнать, есть ли запись? либо по id, либо по нескольким полям одновременно
Google
Valery
12.01.2017
15:15:00
тут наверно вообще другой метод надо, если подразумевается, что какая-то модель уже загружена
Alexander
12.01.2017
15:15:10
Ну дак я его вызываю из модели же..
$this->partnerProperties() - вот тут он уже занет, есть там чего или нет )
Valery
12.01.2017
15:16:07
так тогда наверно нао просто новые данные присвоить и сделать save()
Alexander
12.01.2017
15:18:43
думал схетрить )
public function savePartnerProperties($data)
{
if (empty($this->partnerProperties)) {
$this->partnerProperties()->save(new Partner($data));
} else $this->partnerProperties()->update($data);
}
так в итоге сделал )
root
13.01.2017
11:17:16
Всем ку! Ребята подскажите как можно сделать проверку ширины экрана пользователя в ларавел?
Есть какой нить метод чтобы в контроллере прописать?
Или средствами пхп?
Rafkat
13.01.2017
11:20:26
root
13.01.2017
11:21:10
Rafkat
13.01.2017
11:21:20
Пхп где работает?
На сервере или стороне клиента?
root
13.01.2017
11:25:15
На стороне клиента уважаемый
Тогда попробую задачу объяснить. Есть таблица. 5 колонок. Если открыть таблицу на дескторе то всё гуд и все данные помещаются. Если открыть с планшета, то уже одна лишняя, если с мобилы то 2 лишние колонки.
Думаю сделать три таблицы с классами бутструпа мобильные, планшет, десктор. Только получается что 3 таблице будет.
Либо думаю можно в контроллере средствами пхп получить ширину экрана и создать условие по которому в шаблон передастся переменная 1, 2 или 3. В шаблоне уже условие какую из таблиц показывать.
Rafkat
13.01.2017
11:26:17
root
13.01.2017
11:26:40
Допёр о чем идёт речь
Значит делаем средствами css через media
Rafkat
13.01.2017
11:29:52
ты можешь через js получить размер экрана и потом орендерить
но лучше так не делать
через media самый норм
root
13.01.2017
11:30:15
Ок. Спасибо
Буду делать на css
Google
Илья
17.01.2017
06:33:00
Ну contains ищет совпадения, у тебя в коллекции нет массива с id=1
Alexander
17.01.2017
06:35:04
Видимо я не до конца коллекции понял.
У меня в коллекции 2а item'a
Каждый = массив
Разве не в них он должен искать?
Valery
17.01.2017
06:35:25
а покажи, что будет если коллекцию сделать toArray
странно. вроде всё верно
а ты так делал? ->contains('id', 1) ?
поробуй ->contains('id', '1')
Alexander
17.01.2017
06:39:24
нет, я делал ->contains(['id' => 1])
сейчас попробую
Valery
17.01.2017
06:39:41
ну так RTFM тогда )
Илья
17.01.2017
06:40:09
Вы не совсем его понимаете, contains сравнивает каж щщдый элемент коллекции с тем что ему передали
Alexander
17.01.2017
06:41:00
Valery
17.01.2017
06:41:41
$collection = collect([
['product' => 'Desk', 'price' => 200],
['product' => 'Chair', 'price' => 100],
]);
$collection->contains('product', 'Bookcase');
// false
Илья
17.01.2017
06:41:56
Не внутри элемента а весь элемент
Это тебя там сущтность
Valery
17.01.2017
06:43:50
тогда сначала toArray, потом обратно collect )
Илья
17.01.2017
06:44:28
Там же замыкание можно сунуть в 5.3
Valery
17.01.2017
06:47:28
т.е. будет так? return $value->id == 1;
Илья
17.01.2017
06:48:11
Угу
Alexander
17.01.2017
06:50:01
А что поменяется от замыкания то?
ааа
Google
Alexander
17.01.2017
06:50:38
понял
сейчас попробую
Valery
17.01.2017
06:52:02
с массивом-то понятно не работает, но если сделать toArray, то объекты внутри превратятся в массивы, которые потом опять загнать в коллекцию. изврат конечно. юзай замыкание
Alexander
17.01.2017
06:52:18
Угу, с замыканием все ок :)
спасибо ребят!
блин, а я так понимаю засунуть в засыкание глобальную переменную можно только через константу :(
Valery
17.01.2017
07:19:25
use($var)
Alexander
17.01.2017
07:20:29
только нашел ))
спасиб )
Valery
17.01.2017
07:20:51
?
Alexander
17.01.2017
11:17:18
Блин, пропустил ))
Всем привет :))
Я видимо самый нуб тут, только от меня и падаются вопросы =)
Не могу понять загадку одну, пишу в шаблоне:
{{ old('name') or $product->name }}
по логие, если old('name') == null то выводим $product->name
НО, но на практике я получаю в input цифру 1, когда old('name') == null
Проверяю {{ dd(old('name') }} получаю null
Не могу понять, где подвох
Илья
18.01.2017
10:37:39
кмк у тебя выводиться результат сравнения old('name') or $product->name
а не то что там внутри
Alexander
18.01.2017
10:40:41
Илья
18.01.2017
10:41:10
ну я же написал что я так думаю =) а не утверждаю)
Dan
18.01.2017
10:41:13
$product->name в переменную обернуть может стоит?
можно ли вызывать параметры объекта в шаблоне? я не помню если честно
Alexander
18.01.2017
10:41:58
Можно
у меня все поля так вызываются
Dan
18.01.2017
10:42:20
вообще наверное можно, да
Google
Alexander
18.01.2017
10:42:41
странности блин )
Dan
18.01.2017
10:44:44
полагаю что проверить можно для начала написав полную версию тернарного оператора
{{ isset(old('name')) ? old('name') : $product->name }}
но что-то мне подсказывает, что это тоже не поможет
Alexander
18.01.2017
10:47:19
С тернарным все ок
лара на isset чет ругается кстати )