2017-12-03 351 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"}] 

當我打印CLIENT_NAME $ dsale - > [ 'CLIENT_NAME'] [0]這樣它的顯示錯誤。

+0

嘗試:'$ dsale [0] [ 'CLIENT_NAME']' - HTTPS://3v4l.o RG/nCQuV –

+0

不是JSON,這是一個集合或數組的對象stdClass已經......只有當你試圖用「echo」他們會看到JSON – lagbox

回答

0
在陣列

..你需要先得到索引,那麼獲取對象..

例如: 如果該項目是一個對象,做這樣的..

$dsale[0]->client_name;

或者,如果該項目是一個數組類型,做這樣的..

$dsale[0]['client_name']

+0

我敢嘗試。返回$ dsale [0] ['client_name'];但現在顯示FatalThrowableError 不能使用類型爲stdClass的對象作爲數組此異常。 – Gabrielle

+0

你有沒有試過$ dsale [0] - > client_name; – ZeroOne

+0

謝謝,$ dsale [0] - > client_name;這是完美的作品。 – Gabrielle