@laravel_pro

Страница 720 из 2014
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
И что самое тупое, час назад с другой моделью так сделал

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

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
28.08.2017
18:31:15
попробуй может сначала сохранить модель, потом её приаттачить

Vlad
28.08.2017
18:31:45
попробуй может сначала сохранить модель, потом её приаттачить
$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); }

да и так

+пробовал $ad_v2 делать после save через find

Тажа лажа

none
28.08.2017
18:33:09
у меня уникальная память, я ни хуя не запоминаю

и не понимаю этих примеров где не дописано до конца ничего

мол достаньте презерватив, конец

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

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 например

если связи в моделях прописаны правильно, то все должно работать верно без костылей

а ты изначально пошел по более тернистому пути

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
тоже не раз по невнимательности на грабли такие ставал, но выходил из ситуации без костылей, просто внимательно всё пересмотреть и сравнить с тем, как должно быть правильно

это костыли, не стоит так делать

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
а ещё если у тебя правильно заданы поля в связывающей таблице, то в связях можно вообще локальный и чужой ключ не указывать, ларавел делает это сам
Первый проект, еще не привык правильно все называть, а так да, я знаю что если по правилам, то ключи не нужно указывать...но пока это чувство самосахронения

это скорее всего наследствия костыля
удалил вторую связь, все также, у вас attach время добавляет как понимаю

?

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

Vlad
28.08.2017
18:48:30
сек, сейчас точно гляну чтобы не соврать
public function filters() { return $this->belongsToMany(\App\Model\Filters::class, 'catalog_filters', 'catalog_id', 'filter_id')->withTimestamps(); }

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
у меня есть маленькое апи для сайта-визитки с простой структурой и реализацией связей, могу открыть тебе доступ в битбакете, посмотришь себе для примера как оно работает
Был бы признателен. Кстати, $fillable ...Вроде везде пишут что нужен, и без него поля не сохраняются, но у меня почему то он ни разу не потребовался

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

Vlad
28.08.2017
18:57:53
пиздец ни одного примера выводящего данные из бд в таблицу
$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>

none
28.08.2017
18:58:24
почему форич не во вьюшке?

ну всмысле не index.blade,php

с этой хуйнёй вот @forich

endforich

Vlad
28.08.2017
18:59:18
ну всмысле не index.blade,php
Потому что он во вьюшке //// я разделил 2 участка

Nazar
28.08.2017
18:59:57
пиздец ни одного примера выводящего данные из бд в таблицу
примеров очень много, не знаю чем ты гуглишь и смотришь

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

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

а где контролер
Если вы знаете что такое контроллер, то не проще его уже написать)

none
28.08.2017
19:01:29
у меня в ебаном контролере $nick = DB::table('user')->first(); return view('statistic', ['users' => $nick]);

но мне нужен не хуйня эта массивная

а обычная надпись

Petya и всё блять

Страница 720 из 2014