2017-12-03 10 views
0

laravel DBファサードを使用してクエリを実行しました.json配列オブジェクトを返しますが、json配列から単一フィールド値にアクセスする場合はエラーが表示されます。json配列からの単一フィールドデータの出力方法

ここは私のクエリの部分です。

$dsale=DB::table('directsales') 
      ->join('clients','directsales.client_id','=','clients.id') 
      ->join('products','directsales.product_id','=','products.id') 
      ->select('clients.client_name','clients.addr','directsales.*','products.name') 
      ->where('directsales.client_id','=',$client_id) 
      ->whereBetween('directsales.issue_date',[$fromdate,$todate]) 
      ->distinct() 
      ->get(); 

      return $dsale; 

これは私の結果です。

[{"client_name":"client one","addr":"jdkdhjfkhdkshfds","id":1,"transaction_code":"IN--00000001","client_id":1,"product_id":1,"product_code":"P0007","unitperctn":20,"unitprice":100,"ctn":4,"pcs":5,"total":4500,"deliverd_by":"nazim","issue_date":"2017-12-01","created_at":"2017-11-28 13:55:29","updated_at":"2017-11-28 13:55:33","name":"Dano Instant 2.5 Kg Packet 6"},{"client_name":"client one","addr":"jdkdhjfkhdkshfds","id":2,"transaction_code":"IN--00000002","client_id":1,"product_id":1,"product_code":"P0001","unitperctn":12,"unitprice":100,"ctn":1,"pcs":1,"total":2,"deliverd_by":"majed","issue_date":"2017-12-01","created_at":null,"updated_at":null,"name":"Dano Instant 2.5 Kg Packet 6"},{"client_name":"client one","addr":"jdkdhjfkhdkshfds","id":3,"transaction_code":"IN--00000002","client_id":1,"product_id":4,"product_code":"P0004","unitperctn":12,"unitprice":90,"ctn":1,"pcs":3,"total":6,"deliverd_by":"majed","issue_date":"2017-12-01","created_at":null,"updated_at":null,"name":"All time bread"},{"client_name":"client one","addr":"jdkdhjfkhdkshfds","id":5,"transaction_code":"IN--00000004","client_id":1,"product_id":1,"product_code":"P0001","unitperctn":12,"unitprice":100,"ctn":1,"pcs":0,"total":1,"deliverd_by":"majed","issue_date":"2017-12-12","created_at":null,"updated_at":null,"name":"Dano Instant 2.5 Kg Packet 6"},{"client_name":"client one","addr":"jdkdhjfkhdkshfds","id":6,"transaction_code":"IN--00000005","client_id":1,"product_id":4,"product_code":"P0004","unitperctn":12,"unitprice":90,"ctn":3,"pcs":3,"total":3510,"deliverd_by":"add","issue_date":"2017-12-03","created_at":null,"updated_at":null,"name":"All time bread"},{"client_name":"client one","addr":"jdkdhjfkhdkshfds","id":10,"transaction_code":"IN--00000007","client_id":1,"product_id":4,"product_code":"P0004","unitperctn":12,"unitprice":90,"ctn":1,"pcs":6,"total":1620,"deliverd_by":"majed","issue_date":"2017-11-01","created_at":null,"updated_at":null,"name":"All time bread"}] 

私はクライアント名$ dsale印刷 - > [ 'クライアント名']、それはエラーを表示します[0]この方法を。配列の

+0

てみてください: '$のdsale [0] [ 'クライアント名']' - HTTPS://3v4l.o rg/nCQuV –

+0

これはjsonではなく、それはstdClassオブジェクトのコレクションまたは配列です。それらを 'エコーする'ときにのみjsonが表示されます – lagbox

答えて

0

..あなたがオブジェクトを取得し、その後、最初のインデックスを取得する必要があります。..

例:アイテムがオブジェクトである 場合は、次のように行う。..

$dsale[0]->client_name;

またはアイテムが配列型である場合には、次のように行う。..

$dsale[0]['client_name']

+0

私はこれを試しています。 return $ dsale [0] ['client_name'];現在はFatalThrowableErrorを表示しています 配列としてstdClass型のオブジェクトをこの例外として使用することはできません。 – Gabrielle

+0

あなたは$ dsale [0] - > client_nameを試してみましたか? – ZeroOne

+0

ありがとう、$ dsale [0] - > client_name;これは完全に機能します。 – Gabrielle

関連する問題