При вызове статического метода вываливает ошибку: "call_user_func() expects parameter 1 to be a valid callback, class 'BA::class' not found". Почему не работает
call_user_func и почему
'BA::class' not found? Если
namespace у модели где метод
getProduct() такой же
common\models как и у модели (у любых моделей которые дергается методом
getProduct будет и есть одинаковый namespace)
'BA::class' .
public function getProduct() {
$category = Category::findOne($this->category_id);
if(!is_null($category->parent_id)) {
$category = Category::findOne($category->parent_id);
}
$model = $category->title;
if(count($model = explode(' ', $model)) > 1) {
for($i = 0; count($model) > $i; $i++) {
$model[$i] = ucfirst($model[$i]);
}
$model = implode($model, '');
} else {
$model = ucfirst($model[0]);
}
$model = $model.'::class';
$model = call_user_func(model);
return $this->hasOne($model, ['id' => 'product_id']);