Php Jamie的Codeigniter MY_模型和带关系的查询

Php Jamie的Codeigniter MY_模型和带关系的查询,php,codeigniter,codeigniter-base-model,Php,Codeigniter,Codeigniter Base Model,我有以下关系 Profile --------------------------------------- id profile_image_id otherdetails --------------------------------------- 1 22 --- --------------------------------------- media ----------------------------------------------

我有以下关系

Profile
---------------------------------------
id profile_image_id otherdetails
---------------------------------------
1   22             ---
---------------------------------------  

   media
----------------------------------------------
id profile_id path                type
----------------------------------------------
22  1         /exes/lod.png       profile_image
----------------------------------------------  
个人资料有媒体。 媒体是图像路径的集合。并且有一个名为“type”的列//

我想用媒体type='profile_image'加载所有配置文件

我想制作如下内容:

select * from profile 
inner join with media
where media.type ='smthing';
..负荷模型

$this->profile->with('media')->get_by('type','profile_image') ;; 
// runs on profile model than media model. 
这不起作用

我看到了那张照片,但我一点线索也没有


你以前做过类似的事情吗?谢谢

如果我没有错的话,这将帮助你

$this->db->select('p.*');
$this->db->from('profile p');
$this->db->join('media m','p.id = m.profile_id','left');
$this->db->where('m.type','profile_image');
$result = $this->db->get()->result_array();
print_r($result);

当然,这是将一些助手与MY_MODEL类结合起来的解决方案

这是一个定制的解决方案,即使在将来,这都要归功于michail1982

public function with_media($type='profile_image') {
  $this->_database->join('medias',$this->_table.
     '.'.$this->primary_key.' = medias.profile_id')->where('medias.type', $type);
}

你能用表结构更新你的问题吗?eloquent不能直接处理关系查询,你需要使用一些。伙计,这不是eloquent吗?是吗?所以你需要做一个有说服力的CI查询我是对的@danieladI以前从未使用过它,所以我不能说不使用它,但你不能同时使用常规CI查询吗?我想要访问的MY_MODEL样式。然后提供指向你的MY_MODEL样式的链接我在我的问题上做过文档文本