Почему не вызывается метод поведения?

вот поведение

<?php
namespace common\components\behaviors;
use yii\base\Behavior;
class MenuFrontendBehavior extends Behavior
{
    public $alias;

    public $model;

    public $path;

    public $feild_alias;

    public function getPath(){
        return 'yes';
    }

    public function getModel(){
        $model=$this->model;
    }

}

так подключаю к модели
use common\components\behaviors\MenuFrontendBehavior;

class Firmcat extends \yii\db\ActiveRecord
{
    public function behaviors()
    {
        return [

                [
                    'class' => SluggableBehavior::className(),
                    'attribute' => 'title',
                    'slugAttribute' => 'slug'
                ],
                'menu' => [
                    'class' => MenuFrontendBehavior::className(),
                    //'model' => 'yes',
                    //'prop2' => 'value2',* /
                ]

        ];
    }

потом в к контролере пытаюсь вызвать так
use common\models\Firmcat;
use yii\web\Controller;
class MenucreateController extends Controller
{

    public function actionIndex(){
        $model=Firmcat::find()->with('image')->all();
        return $this->render('index',[
            'path'=>$model->getPath()
        ]);
    }
}

получаю ошибку
Call to a member function getPath() on array

объясните почему
  • Вопрос задан
  • 75 просмотров
Решения вопроса 1
mitaichik
@mitaichik
Потому что строка $model=Firmcat::find()->with('image')->all(); Выбирает вам массив моделей, а не конкретную модель, у которой можно вызвать метод.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы