【问题标题】:Codeigniter Active record response differnt from MyPhpAdmin SQL queryCodeigniter 活动记录响应不同于 PhPmyAdmin SQL 查询
【发布时间】:2013-06-23 12:30:04
【问题描述】:

当我在codeigniter 活动记录表单MyPhpAdmin 中执行查询时,我得到了不同的结果

以下查询使用MyPhpAdmin 运行

SELECT * FROM (`ingredients`) LEFT JOIN `product_ingredients` ON `ingredients`.`ingredient_id` = `product_ingredients`.`ingredient_id` AND `product_id` = 46

给出所需的结果,其中包括返回的两个成分记录的成分 ID。

Array ( [0] => stdClass Object ( [ingredient_id] => 1 [display] => Sweet Almond Oil [slug] => sweet-almond-oil [title] => Sweet Almond Oil [description] => Sweet Almond Oil [featured_image_url] => [product_ingredient_id] => 10 [product_id] => 46 [display_position] => 2 [key_ingredient] => 0 ) [1] => stdClass Object ( [ingredient_id] => 2 [display] => Shea Butter [slug] => shea-butter [title] => Shea Butter [description] => Shea Butter [featured_image_url] => [product_ingredient_id] => [product_id] => [display_position] => [key_ingredient] => ) )

但如果我使用 Codeigniter 活动记录和以下代码执行此查询:

$this->db->select('*');
$this->db->join('product_ingredients', 'ingredients.ingredient_id = product_ingredients.ingredient_id AND `product_id` = 46', 'left');
$query = $this->db->get('ingredients'); 

然后生成的数组缺少第二个成分结果的成分 ID,即:

Array ( [0] => stdClass Object ( [ingredient_id] => 1 [display] => Sweet Almond Oil [slug] => sweet-almond-oil [title] => Sweet Almond Oil [description] => Sweet Almond Oil [featured_image_url] => [product_ingredient_id] => 10 [product_id] => 46 [display_position] => 2 [key_ingredient] => 0 ) [1] => stdClass Object ( [ingredient_id] => [display] => Shea Butter [slug] => shea-butter [title] => Shea Butter [description] => Shea Butter [featured_image_url] => [product_ingredient_id] => [product_id] => [display_position] => [key_ingredient] => ) )

任何帮助将不胜感激......

【问题讨论】:

    标签: codeigniter activerecord phpmyadmin


    【解决方案1】:

    看看

    $this->db->select('i.*');
    $this->db->from('ingredients i');
    $this->db->join('product_ingredients pi', 'i.ingredient_id = pi.ingredient_id', 'left');
    $this->db->where('pi.product_id',46);
    $query = $this->db->get()->result_array(); 
    

    【讨论】:

      猜你喜欢
      • 2016-03-10
      • 1970-01-01
      • 1970-01-01
      • 2015-07-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多