
Vlad
28.08.2017
18:25:26
После его создания начинает заполнятся таблица связей обьявление || фильтр
А черт перемудрил
foreach ($request->filters as $filter){
$val=new CatalogsFilters();
$val->filter_id=$filter;
$val->catalog_id=$ad->id;
$val->save();
}

none
28.08.2017
18:26:54
https://laravel.com/docs/5.4/queries

Google

Nazar
28.08.2017
18:27:02
не очень понятно, какая у тебя структура всего, и что такое filtersThisElement (связь?), поэтому не знаю, чем тебе помочь
если ты хочешь привязать модель к другой, можешь ещё юзать attach

Vlad
28.08.2017
18:27:04
Но я пытался с помошью связей, заполнить, не указывая catalog_id

none
28.08.2017
18:27:14
пиздец примеры убогие, ну ввел я этот запрос к бд и хуле, вывода нету на странице
тоже мне офф.доки
хуита

Vlad
28.08.2017
18:27:59
не очень понятно, какая у тебя структура всего, и что такое filtersThisElement (связь?), поэтому не знаю, чем тебе помочь
если ты хочешь привязать модель к другой, можешь ещё юзать attach
я за 40 мин уже все перепробовал с hasmany attach,create,createMany,savymany,synx, и т.д. по какой то причине все они валятся
И что самое тупое, час назад с другой моделью так сделал

Nazar
28.08.2017
18:28:29
покажи свои модели и скажи, какую к какой нужно привязать. а я наведу пример, как это сделать

Vlad
28.08.2017
18:28:30
foreach ($request->filters as $filter){
$val=new CatalogsFilters();
$val->filter_id=$filter;
$val->catalog_id=$ad->id;
$ad->filtersThisElement()->save($val);
}
По аналогии сработало

Nazar
28.08.2017
18:28:47
+ как выглядит таблица со связями, если там manytomany

Vlad
28.08.2017
18:28:48
Я даже не заметил что не тот костыл наворотил

Google

Vlad
28.08.2017
18:29:34
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
28.08.2017
18:29:57
сами модели где есть объявление связей покажи

Vlad
28.08.2017
18:30:14
catalog
public function filtersThisElement(){
return $this->hasMany(\App\Model\CatalogsFilters::class,'catalog_id', 'filter_id');
}

Nazar
28.08.2017
18:30:18
attach по идеи должен работать нормально

Alexey
28.08.2017
18:30:44
А я все задаюсь вопросом, что я делаю не так, что мне в документации абсолютно все получается? Ну максимум со второго раза) это так, риторический вопрос)

Vlad
28.08.2017
18:30:47
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))
//если только на него тажа бага не повлияла

Nazar
28.08.2017
18:31:15
попробуй может сначала сохранить модель, потом её приаттачить

Vlad
28.08.2017
18:31:45
да и так
+пробовал $ad_v2 делать после save через find
Тажа лажа

none
28.08.2017
18:33:09
у меня уникальная память, я ни хуя не запоминаю
и не понимаю этих примеров где не дописано до конца ничего
мол достаньте презерватив, конец

Nazar
28.08.2017
18:34:24
$val->save();
$ad->название связи с фильтрами()->attach(ид модели, которую ты аттачишь);

Vlad
28.08.2017
18:35:27

Nazar
28.08.2017
18:35:31

Google

Nazar
28.08.2017
18:35:43
нет
ну там либо айдишку одну указываешь, либо массив айдишок
но не и то и другое

Vlad
28.08.2017
18:36:23
$val->save();//это тут случайно?
$ad->название связи с фильтрами()->attach(ид модели, которую ты аттачишь);
$ad->filtersThisElement()->attach(array_unique($request->filters)); //такой вариант я пробовал

Nazar
28.08.2017
18:37:46
вообще, если изначально смотреть
то ты сделал для связи огромный костыль

Vlad
28.08.2017
18:37:53
Call to undefined method Illuminate\Database\Query\Builder::attach()
//может я чего подрубил просто

Nazar
28.08.2017
18:37:57
потому что для этого не нужно создавать отдельную модель
у тебя должна быть первая и вторая модель, которые ты связываешь
объявленные связи в моделях и созданная таблица с названием user_roles например
если связи в моделях прописаны правильно, то все должно работать верно без костылей
а ты изначально пошел по более тернистому пути

Vlad
28.08.2017
18:38:53

Nazar
28.08.2017
18:39:07
но ты создал отдельную модель CatalogFilters
для связывающей таблицы
этого не нужно делать

Vlad
28.08.2017
18:39:29
public function filters()
{
return $this->belongsToMany(\App\Model\Filters::class, 'catalog_filters', 'catalog_id', 'filter_id');
}

Nazar
28.08.2017
18:39:52
тебе нужно фильтр к каталогу привязать?

Vlad
28.08.2017
18:39:52
Так, такой вариант был в начале, сейчас гляну что ему не вкотило при сохранение

Nazar
28.08.2017
18:40:00
$catalog->filters->attach(ид фильтра);

Google

Nazar
28.08.2017
18:40:06
и всё, никакие третьи модели не нужны

Vlad
28.08.2017
18:40:22

Nazar
28.08.2017
18:40:36
да, можно массив тогда целый бахнуть с айдишками
и привязать сразу много фильтров
если что-то не работает, значит внимательно пересмотри, как ты объявил связи в моделях, возможно local key и foreign key местами перепутал, возможно поля в связывающей таблице криво назвал, возможно название таблицы не такое

Vlad
28.08.2017
18:41:55

Nazar
28.08.2017
18:41:56
тоже не раз по невнимательности на грабли такие ставал, но выходил из ситуации без костылей, просто внимательно всё пересмотреть и сравнить с тем, как должно быть правильно
это костыли, не стоит так делать

Vlad
28.08.2017
18:42:09

Admin
ERROR: S client not available

Vlad
28.08.2017
18:42:34
Ед...Тут второй баг мини
креате и апдейт пусты

Nazar
28.08.2017
18:42:58
а ещё если у тебя правильно заданы поля в связывающей таблице, то в связях можно вообще локальный и чужой ключ не указывать, ларавел делает это сам

Vlad
28.08.2017
18:42:59

Nazar
28.08.2017
18:44:00
это скорее всего наследствия костыля

Vlad
28.08.2017
18:44:10
?

Nazar
28.08.2017
18:47:33
сек, сейчас точно гляну чтобы не соврать

Vlad
28.08.2017
18:48:30

Google

Vlad
28.08.2017
18:48:36
Уже нащел, спасибо

Nazar
28.08.2017
18:48:39
да, с таймстампами всё ок у меня

Vlad
28.08.2017
18:48:50
Изначально он у всех время не указывал)

Nazar
28.08.2017
18:49:11
у меня есть маленькое апи для сайта-визитки с простой структурой и реализацией связей, могу открыть тебе доступ в битбакете, посмотришь себе для примера как оно работает
там связи прописаны примерно так
http://savepic.org/8675920.png

Vlad
28.08.2017
18:51:14

none
28.08.2017
18:54:53
пиздец ни одного примера выводящего данные из бд в таблицу

Vlad
28.08.2017
18:57:53

none
28.08.2017
18:58:24
почему форич не во вьюшке?
ну всмысле не index.blade,php
с этой хуйнёй вот @forich
endforich

Vlad
28.08.2017
18:59:18

Nazar
28.08.2017
18:59:57

none
28.08.2017
19:00:18
а где контролер

Vlad
28.08.2017
19:00:20
с этой хуйнёй вот @forich
На всякий случай ее не использовал...Так как как вывести массив ответит первая выдача гугла. Побоялся что blade синтаксис не знаете
а где контролер
Если вы знаете что такое контроллер, то не проще его уже написать)

Nazar
28.08.2017
19:01:25

none
28.08.2017
19:01:29
у меня в ебаном контролере $nick = DB::table('user')->first();
return view('statistic', ['users' => $nick]);
но мне нужен не хуйня эта массивная
а обычная надпись
Petya и всё блять