2015-08-09 48 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