【问题标题】:Array data issue Laravel数组数据问题 Laravel
【发布时间】:2017-11-12 06:59:41
【问题描述】:

我在这里遇到了一个数组问题,我花了很多时间。 我得到一个像这种形式的数组列表

array:4 [

0 => array:20 [▼
"id" => 58
"id_business" => 
"id_branch" => 
"affected_branches" => " " ▶"
"name" => ""
"banner" => ""
"description" => ""
"url" => 
"start_date" => ""
"end_date" => ""
"nr_pages" => 4
"nr_products" => 0
"type" => "global"
"views" => 24
"visible" => "yes"
"delete" => "no"
"user_create_id" => 
"user_modify_id" => 
"created_at" => ""
"updated_at" => "2017-06-07 14:19:23"]
]

通过以下代码

  $data = Offers::whereIn('id_business', $business_id_array)
                    ->where([
                       'visible' => 'yes',
                       'delete' => 'no'
                     ])
                     ->where('end_date', '>=', date('Y-m-d h:m:i'))
                    ->orderBy('id', 'desc')->get()
                    ->toArray();

当我尝试为所有传入的数组(在本例中为 4)创建一个 foreach 循环时,它不会返回 4 个值,而只返回一个。 循环是:

 foreach ($data as $key => $slide)
                {
                    $offers = DB::select('SELECT o.`id`... WHERE o.`id` = ?',[$slide['id']]);

                }

                return view('...', ['offers' => $offers]);
            }

我在查询中传递这个值来获取每个数组的 id

o.`id` = ?',[$slide['id']]

PS:请帮帮我:)

【问题讨论】:

    标签: php arrays laravel laravel-5


    【解决方案1】:

    你需要把 $offres 改成数组

    $offers = array();
    foreach ($data as $key => $slide)
    {
        $offers[] = DB::select('SELECT o.`id`... WHERE o.`id` = ?',[$slide['id']]);
    
    }
    
    return view('...', ['offers' => $offers]);
    

    【讨论】:

    • 嗯,我认为它卡在 foreach 上,因为当我 dd($slide);我只得到第一个值。
    • foreach 循环完成后使用dd($slide)
    【解决方案2】:

    每次迭代都会覆盖 $offers 值,因此将代码更改为:

    $offers = [];
    foreach ($data as $key => $slide) {
        $offers[] = DB::select...
    }
    

    【讨论】:

    • 嗯,我认为它卡在 foreach 上,因为当我 dd($slide);我只得到第一个值。
    • @User154584 如果您在循环中使用dd(),您将始终在循环中获得第一个值。只需在循环后使用dd($offers),您就会看到一系列优惠。
    猜你喜欢
    • 2021-02-08
    • 2017-11-14
    • 2020-11-24
    • 2020-11-24
    • 2019-02-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-19
    相关资源
    最近更新 更多