Nazar
attach по идеи должен работать нормально
Vladislav
attach по идеи должен работать нормально
SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'catalog_id' cannot be null (SQL: insert into catalog_filters (filter_id, catalog_id, updated_at, created_at) values (5, , 2017-08-28 18:19:14, 2017-08-28 18:19:14)) //если только на него тажа бага не повлияла
Vladislav
SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'catalog_id' cannot be null (SQL: insert into catalog_filters (filter_id, catalog_id, updated_at, created_at) values (5, , 2017-08-28 18:19:14, 2017-08-28 18:19:14)) //если только на него тажа бага не повлияла
так как по аналогии foreach (array_unique($request->sections) as $section) { if ($section != '-1') { $val = new CompanySection(); $val->section_id = $section; $val->company_id = User::find(Auth::user()->id)->company->id; Company::find($val->company_id)->companySection()->save($val); } } все ок
Nazar
попробуй может сначала сохранить модель, потом её приаттачить
Vladislav
попробуй может сначала сохранить модель, потом её приаттачить
$ad->save(); //dd($ad->id); foreach ($request->filters as $filter){ $val=new CatalogsFilters(); $val->filter_id=$filter; $val->catalog_id=$ad->id; $ad->filtersThisElement()->save($val); }
Vladislav
да и так
Vladislav
+пробовал $ad_v2 делать после save через find
Vladislav
Тажа лажа
ceii80
у меня уникальная память, я ни хуя не запоминаю
ceii80
и не понимаю этих примеров где не дописано до конца ничего
ceii80
мол достаньте презерватив, конец
Nazar
$val->save(); $ad->название связи с фильтрами()->attach(ид модели, которую ты аттачишь);
Nazar
и не понимаю этих примеров где не дописано до конца ничего
тогда стоит хорошо подумать, нужно ли тебе влазить в это болото потому что главный скилл кодера - не знать ЯП/фреймворки и т.п., а уметь быстро разбираться в новой тулзе, решать находу проблемы / лепить конфетку из говна и палок
Nazar
нет
Nazar
ну там либо айдишку одну указываешь, либо массив айдишок
Nazar
но не и то и другое
Vladislav
$val->save();//это тут случайно? $ad->название связи с фильтрами()->attach(ид модели, которую ты аттачишь);
Vladislav
$ad->filtersThisElement()->attach(array_unique($request->filters)); //такой вариант я пробовал
Nazar
вообще, если изначально смотреть
Nazar
то ты сделал для связи огромный костыль
Vladislav
Call to undefined method Illuminate\Database\Query\Builder::attach() //может я чего подрубил просто
Nazar
потому что для этого не нужно создавать отдельную модель
Nazar
у тебя должна быть первая и вторая модель, которые ты связываешь объявленные связи в моделях и созданная таблица с названием user_roles например
Nazar
если связи в моделях прописаны правильно, то все должно работать верно без костылей
Nazar
а ты изначально пошел по более тернистому пути
Nazar
но ты создал отдельную модель CatalogFilters
Nazar
для связывающей таблицы
Nazar
этого не нужно делать
Vladislav
public function filters() { return $this->belongsToMany(\App\Model\Filters::class, 'catalog_filters', 'catalog_id', 'filter_id'); }
Nazar
тебе нужно фильтр к каталогу привязать?
Vladislav
Так, такой вариант был в начале, сейчас гляну что ему не вкотило при сохранение
Nazar
$catalog->filters->attach(ид фильтра);
Nazar
и всё, никакие третьи модели не нужны
Vladislav
тебе нужно фильтр к каталогу привязать?
почти, араву фильтров, но сути не меняет
Nazar
да, можно массив тогда целый бахнуть с айдишками
Nazar
и привязать сразу много фильтров
Nazar
если что-то не работает, значит внимательно пересмотри, как ты объявил связи в моделях, возможно local key и foreign key местами перепутал, возможно поля в связывающей таблице криво назвал, возможно название таблицы не такое
Vladislav
да, можно массив тогда целый бахнуть с айдишками
Твою, и что меня дернуло вторую связь закидывать, сработало, и что самое смешное раньше так и делал
Nazar
тоже не раз по невнимательности на грабли такие ставал, но выходил из ситуации без костылей, просто внимательно всё пересмотреть и сравнить с тем, как должно быть правильно
Nazar
это костыли, не стоит так делать
Vladislav
Ед...Тут второй баг мини
Vladislav
креате и апдейт пусты
Nazar
а ещё если у тебя правильно заданы поля в связывающей таблице, то в связях можно вообще локальный и чужой ключ не указывать, ларавел делает это сам
Vladislav
Nazar
это скорее всего наследствия костыля
Vladislav
а ещё если у тебя правильно заданы поля в связывающей таблице, то в связях можно вообще локальный и чужой ключ не указывать, ларавел делает это сам
Первый проект, еще не привык правильно все называть, а так да, я знаю что если по правилам, то ключи не нужно указывать...но пока это чувство самосахронения
Vladislav
это скорее всего наследствия костыля
удалил вторую связь, все также, у вас attach время добавляет как понимаю
Vladislav
?
Nazar
сек, сейчас точно гляну чтобы не соврать
Vladislav
сек, сейчас точно гляну чтобы не соврать
public function filters() { return $this->belongsToMany(\App\Model\Filters::class, 'catalog_filters', 'catalog_id', 'filter_id')->withTimestamps(); }
Vladislav
Уже нащел, спасибо
Nazar
да, с таймстампами всё ок у меня
Vladislav
Изначально он у всех время не указывал)
Nazar
у меня есть маленькое апи для сайта-визитки с простой структурой и реализацией связей, могу открыть тебе доступ в битбакете, посмотришь себе для примера как оно работает
Nazar
там связи прописаны примерно так http://savepic.org/8675920.png
Vladislav
у меня есть маленькое апи для сайта-визитки с простой структурой и реализацией связей, могу открыть тебе доступ в битбакете, посмотришь себе для примера как оно работает
Был бы признателен. Кстати, $fillable ...Вроде везде пишут что нужен, и без него поля не сохраняются, но у меня почему то он ни разу не потребовался
ceii80
пиздец ни одного примера выводящего данные из бд в таблицу
Vladislav
пиздец ни одного примера выводящего данные из бд в таблицу
$array=Model::get(); //// <table> <?php foreach($array as $val) : ?> <tr> <td><?php echo $val->name; ?></td> <td><?php echo $val->count; ?></td> </tr> <?php endforeach; ?> </table>
ceii80
почему форич не во вьюшке?
ceii80
ну всмысле не index.blade,php
ceii80
с этой хуйнёй вот @forich
ceii80
endforich
Vladislav
ну всмысле не index.blade,php
Потому что он во вьюшке //// я разделил 2 участка
Nazar
пиздец ни одного примера выводящего данные из бд в таблицу
примеров очень много, не знаю чем ты гуглишь и смотришь
ceii80
а где контролер
Vladislav
с этой хуйнёй вот @forich
На всякий случай ее не использовал...Так как как вывести массив ответит первая выдача гугла. Побоялся что blade синтаксис не знаете
Vladislav
а где контролер
Если вы знаете что такое контроллер, то не проще его уже написать)
ceii80
у меня в ебаном контролере $nick = DB::table('user')->first(); return view('statistic', ['users' => $nick]);
ceii80
но мне нужен не хуйня эта массивная
ceii80
а обычная надпись
ceii80
Petya и всё блять
ceii80
я пишу {{$nick}}
ceii80
в ебаном шаблоне
ceii80
и ни хуя
Nazar
смотри, передаешь запись во вьюшку, а во вьюшке юзаешь {{ $переменная_где_запись->поле_в_котором_ник }}
ceii80
{{$nick}->nick}} ?