【问题标题】:Subqueries: Laravel 4.2子查询:Laravel 4.2
【发布时间】:2016-01-04 07:30:59
【问题描述】:

概念:我试图从 9999 和 1111 检索公共页面。见下文。 (ACF 佛罗伦萨)

mysql 查询:SELECT * from fb_likes where page_id IN (

选择page_id FROM fb_likes WHERE user_fb_id = 9999)

user_fb_id = 1111

PHP 代码:

     $temp = FBLikes::where('user_fb_id','=','1111')->get(array('page_id'));
        $tempArr = array();
        for($i = 0; $i < count($temp); $i++){
            $tempArr = array_add($tempArr, $i, $temp[$i]['page_id']);
        }
        print_r($tempArr);
        $common_likes = FBlikes::whereIn('page_id', $tempArr)->where('user_fb_id','=', '9999')->get();

我尝试使用 eloquent。它没有成功。

随后的步骤:我首先执行了子查询。然后将数据转储到 $tempArr。然后我将数组 $tempArr 传递给主查询。

结果:$common_likes 中没有保存任何内容。

您能帮我在单个 Eloquent 语句中编写 mysql 子查询吗?谢谢你。

【问题讨论】:

  • print $tempArr 的结果是什么?
  • 感谢您帮助我。数组 ( [0] => 334348116596391) 是 $tempArr 的结果

标签: php mysql laravel-4.2


【解决方案1】:

您构建了无效的数组,而您不必这样做。尝试用$temp 替换$tempArr 并删除所有这些代码:

$tempArr = array();
for($i = 0; $i < count($temp); $i++){
    $tempArr = array_add($tempArr, $i, $temp[$i]['page_id']);
}
print_r($tempArr);

你不需要它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-04-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-29
    • 2015-07-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多