Категория не получает похожие видео блоги? - PullRequest
0 голосов
/ 08 декабря 2018

Я пытаюсь получить видео, относящиеся к категории, по приведенному ниже коду, но ничего не получаю в var_dump ?Я хочу получить видео, относящиеся к категории:

 $category = VideoBlogCategoryModel::findFirst(1); // This returns category successfully and there are many video   blogs having this category linked
    var_dump($category->getVideoBlogs());exit; 

VideoBlogModel.php

public function initialize(){

    // Run base initialize code
    parent::initialize();

    // Configure Relation with VideoBlogCategoryModel
    $this->belongsTo('category_id', VideoBlogCategoryModel::class, 'id', array(
        'alias' => 'videoCategory',
        'foreignKey' => true
    ));
}
public function getVideoCategory(){
    return $this->videoCategory;
}

public function setVideoCategory($videoCategory){
    $this->videoCategory = $videoCategory;
}

VideoBlogCategoryModel.php

public function initialize(){

    // Run base initialize code
    parent::initialize();

    // Configure relation with VideoBlogModel
    $this->hasMany('id', VideoBlogModel::class, 'category_id', array(
        'alias' => 'videoBlogs',
        'foreignKey' => true,
        'cxAction' => static::ACTION_CASCADE_DELETE
    ));
}
   public function getVideoBlogs(){
    return $this->videoBlogs;
}

public function setVideoBlogs($videoBlogs){
    $this->videoBlogs = $videoBlogs;
}

Дайте мне знать, если потребуется что-то еще, я поделюсь этим.

Ответы [ 3 ]

0 голосов
/ 13 декабря 2018

Или попробуйте:

$categories = VideoBlogCategoryModel::findById($id);
0 голосов
/ 19 января 2019

In VideoBlogCategoryModel.php изменить

public function getVideoBlogs() {
   return $this->videoBlogs;
}

на

public function getVideoBlogs() {
   return $this->getRelated('videoBlogs');
}

Затем попробуйте получить к нему доступ как:

$category = VideoBlogCategoryModel::findFirst(1); 
$videos = $category->getVideoBlogs();

foreach( $videos as $video ) { 
  // access data here
  var_dump($video->anyProperty()); // e.g $video->getId()
}
0 голосов
/ 11 декабря 2018

можете ли вы попробовать

$category = VideoBlogCategoryModel::findFirst(1);
$videos = $category->getVideoBlogs();
var_dump($videos->count());
var_dump($videos->toArray());
exit; 

Я думаю, использование var_dump для объекта коллекции Phalcon не очень хорошая идея, вы можете преобразовать его в Array и Var_dump

Надеюсь, что сможетпомочь вам

...