使用多个ID从数据库中检索数据 - Laravel

时间:2017-11-24 11:21:02

标签: php laravel

我的数据库中包含具有唯一ID的客户端列表。我正在尝试使用这些独特的ID来检索这些客户。

我想获得每个客户的姓名和电话,因此我可以分别处理他们的消息。但是根据我的查询,我只得到一个客户而不是我的所有客户。

PS:当我返回$ explode时,我能够获得我选择的所有ID。

  public function getCustomers(Request $request)
     {
        $ids = $request->ids; 

        $explode = explode(",",$ids);

        if(request()->ajax())
        {


        $clients = Client::whereHas('product', function($find_clients)use($explode)
            {
                 $find_clients->where('id',$explode);

            })->get(); 

           $get_customer_name = [];
           $get_customer_phone = [];

            foreach($clients as $key => $client)
            {
                $get_customer_name[] = $client->name;
                $get_customer_phone [] = $client->phone;

                return ['success' => $explode];                                
            }            
           }
}

短信查询

$query = "?key=$api_keyto=$implode(',',$$get_customer_phone)&msg=Dear ".$implode(',',$$get_customer_name)."Thank you";

2 个答案:

答案 0 :(得分:1)

要查找具有id数组的客户端,请尝试使用whereIn而不是where。

像这样:

$find_clients->whereIn('id',$explode);

答案 1 :(得分:0)

尝试使用whereIn而不是where

$find_clients->whereIn('id', $explode);