2015-08-09 20 views
0

我是phalcon和mvc的新手,请耐心等待。phalcon模型条件跨多个表

我有两个表,媒体和用户都分别与媒体和用户的机型。下面

use Phalcon\Mvc\Model;   
class Media extends Model 
     { 

      public $media_id, $user, $media_type, $title, $status_on, $visible, $modified_date; 

      public function initialize() 
      { 
       $this->belongsTo('user', 'users', 'user_id'); 
      } 
     } 
use Phalcon\Mvc\Model;   
class Users extends Model 
    { 
     public $user_id, $first_name, $last_name, $email_address, $status, $created_on; 

     public function initialize() 
     { 
      $this->hasMany('user_id','media','user'); 
    } 
} 

我想检索与以下条件

"title LIKE '%just a text%' AND status_on='P' AND media_type=4 AND status='A'"; 

这是通过一个控制器方法进行访问介质模型

$medium = media::find(array("conditions" =>$conditions, 
       "ORDER" => "modify_date DESC")); 

我不断收到此错误

代码
Column 'status' doesn't belong to any of the selected models (1), when preparing: SELECT [Media].* FROM [Media] WHERE title LIKE '%just a text%' AND status_on='P' AND status='A' 

请任何人都可以在这方面帮助?我基本上想要检索基于2个表格中的条件的记录,这通常是以

的形式写成的。谢谢。

+0

这里没有足够的信息来回答你的问题。哪些代码产生错误 – dlporter98

+0

问题修改。 – Olamide

回答

0

你将不得不使用查询生成器来获得你想要的结果:我创建了下面这样的例子,你可能需要修改 - 我不知道如果我有你的加入方法正确连接列。

$media = $this->modelsManager->createBuilder() 
    ->from('Media') 
    ->join('Users', 'Media.media_id = Users.user_id', 'u') 
    ->where("title LIKE '%just a text%'") 
    ->andWhere("status_on='P'") 
    ->andWhere("media_type=4") 
    ->andWhere("u.status='A'") 
    ->getQuery() 
    ->execute(); 

获得进一步的说明,请参阅文档:https://docs.phalconphp.com/en/latest/reference/phql.html#creating-queries-using-the-query-builder