Перейти к содержимому


Фотография
- - - - -

Не получается добавить новому материалу несколько категорий из массива.


Лучший Ответ fiction13 , 22 December 2016 - 10:22

У Вас в массиве еще один массив. Это есть неправильно.

$this->app->category->saveCategoryItemRelations($newFeedback, $getFeedbackCategoriesID);
Перейти к сообщению


  • Закрытая тема Тема закрыта
Сообщений в теме: 11

#1 alexmixaylov

alexmixaylov

Отправлено 22 December 2016 - 09:57

При программном добавлении материала, почему то не получается добавить новому материалу несколько категорий из массива айдишников

делаю так

$this->app->table->item->save($newFeedback);
// сохраняем КАТЕГОРИЮ для отзыва
$this->app->category->saveCategoryItemRelations($newFeedback, array(
     $getFeedbackCategoriesID // так ничего не добавляет
     404, 403  // когда прописую руками числа, то все ОК
));

дамп массива 

var_dump($getFeedbackCategoriesID);
array(2) { [0]=> string(3) "404" [1]=> string(3) "403" }

пробую так 

(int) implode(", ", $getItemCategoriesId)

записывает только одну категорию

 

таким образом

implode(", ", $getItemCategoriesId)

вообще ничего не добавляет

подскажите как правильно добавить категории


  • 0

#2 CB9TOIIIA

CB9TOIIIA

Отправлено 22 December 2016 - 10:00

Пальцем в небо - но может тип неверный? в первом случае int - числа, А Вы ему во втором string кормите.


  • 0

#3 alexmixaylov

alexmixaylov

Отправлено 22 December 2016 - 10:06

сделал дамп (int) implode(", ", $getFeedbackCategoriesID)

 

получается только одно число, первое

я так понимаю запятую и все что после нее просто вырезает

упс так нельзя делать 


Сообщение отредактировал alexmixaylov: 22 December 2016 - 10:07

  • 0

#4 CB9TOIIIA

CB9TOIIIA

Отправлено 22 December 2016 - 10:07

implode(", ", (int)$getItemCategoriesId)

не?


Сообщение отредактировал CB9TOIIIA: 22 December 2016 - 10:08

  • 0

#5 alexmixaylov

alexmixaylov

Отправлено 22 December 2016 - 10:10

пробовал, не получается

 

string implode ( string $glue , array $pieces )

 

оно его преобразует в строку
а когда я пытаюсь преобразовать в Число, оно строку почсле запятой обрезает

 


  • 0

#6 CB9TOIIIA

CB9TOIIIA

Отправлено 22 December 2016 - 10:12

foreach? :)


  • 0

#7 alexmixaylov

alexmixaylov

Отправлено 22 December 2016 - 10:22

foreach?

думал над этим, только не придумал как его можно использовать  :)


  • 0

#8 fiction13

fiction13

Отправлено 22 December 2016 - 10:22   Лучший Ответ

У Вас в массиве еще один массив. Это есть неправильно.

$this->app->category->saveCategoryItemRelations($newFeedback, $getFeedbackCategoriesID);

Сообщение отредактировал fiction13: 22 December 2016 - 10:22

  • 4

#9 MOKEV

MOKEV

Отправлено 22 December 2016 - 10:23

Функция saveCategoryItemRelations первым аргументом принимает id элемента, вторым - массив категорий. У Вас $getFeedbackCategoriesID  уже массив.

Нужно так

$this->app->category->saveCategoryItemRelations($newFeedback->id, $getFeedbackCategoriesID);

  • 2

#10 alexmixaylov

alexmixaylov

Отправлено 22 December 2016 - 10:31

$newFeedback->id

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

 

сохраняет и так $newFeedback и так  $newFeedback->id вообще то почему то 

 

У Вас в массиве еще один массив. Это есть неправильно.
 

да, это неправильно :)

 

а как было бы правильнее

$getFeedbackCategoriesID[0], $getFeedbackCategoriesID[1],

так работает, но это тупо как то


  • 0




Click to return to top of page in style!