1
Я сделал функцию внутри category
модели:рекурсивная функция в модели оленья кожа ничего возвращать - Laravel
public function getSecondCategoryByID($category_id = 0,$id = 0)
{
$category = $this->where('id','=',$category_id)->first();
if($category->parent_cat_id == 1)
{
$mcategory = $this->where('id','=',$id)->first();
echo 'Inside Model '.$mcategory->id;
return $mcategory->id;
}else{
$this->getSecondCategoryByID($category->parent_cat_id,$category->id);
}
}
в функции контроллера я назвал эту функцию:
$category = new Category;
$secondCategoryID = $category->getSecondCategoryByID($category_brand->category_id,0);
echo 'After Model '.$secondCategoryID ;
return ;
, когда я называю свою функцию контроллер Я получил это сообщение на странице:
Inside Model 3After Model //it should be Inside Model 3After Model '3'
Я думаю, что моя модель не " т вернуть что-нибудь! потому что после after model
ничего!
Вы забыли о возвращении в ELSE блок – nospor
Вы пытаетесь сделать родитель-потомок рекуррентное соотношение в пределах одной и той же таблицы? –
@nospor, если блок - это конец рекурсивных процессов. –