2017-02-22 134 views
0

我是Laravel新手。我已經做了研究,但我似乎無法爲我的代碼找到正確的答案。htmlspecialchars()期望參數1是字符串,給定的數組。 (laravel)

所以我有這個控制器

namespace Modules\Inventory\Http\Controllers; 

use Modules\Setup\Init; 

use Illuminate\Http\Request; 
use Illuminate\Http\Response; 
use Illuminate\Routing\Controller; 
use Illuminate\Support\Facades\DB; 

use Modules\Inventory\Entities\mongodb_logs as mongodb_logs; 

use Modules\Template; 

class ActivityLogsController extends Controller 
{ 
    /** 
    * Display a listing of the resource. 
    * @return Response 
    */ 
    protected $data; 
    protected $page_title = 'Login'; 

    function setup($vars = null) 
    { 
     $Init = new Init; 
     $vars['page'] = $this->page_title; 
     $this->data['template'] = $Init->setup($vars); 
     return $this->data; 
    } 

    public function index() 
    { 
     $loglists = mongodb_logs::orderBy('date_added', 'desc')->get(); 
     $this->data['loglist'] = $loglists; 

     return view('inventory::_logs', $this->setup()); 
    } 
} 

,我的觀點是如此簡單的

<table id="tbl_logs" class="table table-striped table-bordered table-hover"> 
    <thead> 
     <tr> 
      <td>Type</td> 
      <td>User</td> 
      <td>Date</td> 
      <td>Message</td> 
      <td>Before</td> 
      <td>After</td> 
     </tr> 
    </thead> 
    <tbody> 
     @if($loglist != null) 
      @foreach($loglist as $logs) 
       <tr> 
        <td>{{$logs->type}}</td> 
        <td>{{$logs->logged_in_user}}</td> 
        <td>{{$logs->date_added}}</td> 
        <td>{{$logs->message}}</td> 
        <td>{{$logs->before}}</td> 
        <td>{{$logs->after}}</td> 
       </tr> 
      @endforeach 
     @endif 
    </tbody> 
</table> 

我檢索我的MongoDB集 '原木' 的loglist。我成功地檢索您可以通過「print_r的」,但是當我看到它在我的觀點嘗試的數據,這是顯示

htmlspecialchars() expects parameter 1 to be string, array given 

這是我的$ loglist的print_r的結果,我successfulyl從MongoDB中檢索到的錯誤 print_r result

這裏是我的var_dump的幾行。

object(Illuminate\Database\Eloquent\Collection)#408 (1) { 
    ["items":protected]=> 
    array(40) { 
    [0]=> 
    object(Modules\Inventory\Entities\mongodb_logs)#409 (26) { 
     ["connection":protected]=> 
     string(7) "mongodb" 
     ["collection":protected]=> 
     string(4) "logs" 
     ["primaryKey":protected]=> 
     string(3) "_id" 
     ["parentRelation":protected]=> 
     NULL 
     ["table":protected]=> 
     NULL 
     ["keyType":protected]=> 
     string(3) "int" 
     ["incrementing"]=> 
     bool(true) 
     ["with":protected]=> 
     array(0) { 
     } 
     ["perPage":protected]=> 
     int(15) 
     ["exists"]=> 
     bool(true) 
     ["wasRecentlyCreated"]=> 
     bool(false) 
     ["attributes":protected]=> 
     array(11) { 
     ["_id"]=> 
     object(MongoDB\BSON\ObjectID)#288 (1) { 
      ["oid"]=> 
      string(24) "58acfb2b202f941b50002ddf" 
     } 
     ["user_id"]=> 
     int(2) 
     ["admin_id"]=> 
     int(2) 
     ["logged_in_user"]=> 
     string(5) "admin" 
     ["date_added"]=> 
     string(19) "2017-02-22 02:44:59" 
     ["type"]=> 
     string(6) "update" 
     ["message"]=> 
     string(69) "Deceased Documents ofAniyah Gottlieb ID number 4   successfully updated" 
     ["before"]=> 
     string(188) " {"id":2,"d_id":4,"death_cert_no":null,"trans_permit_no":null,"crem_permit_no":nu ll,"exhum_permit_no":null,"senior_card_no":null,"disabled_card_no":null,"created _at":null,"updated_at":null}" 
     ["after"]=> 
     string(211) "  {"id":2,"d_id":4,"death_cert_no":"20171542","trans_permit_no":null,"crem_permit_ no":null,"exhum_permit_no":null,"senior_card_no":null,"disabled_card_no":null,"c reated_at":null,"updated_at":"2017-02-22 02:44:59"}" 
     ["updated_at"]=> 
     object(MongoDB\BSON\UTCDateTime)#287 (1) { 
      ["milliseconds"]=> 
     string(10) "1672815231" 
    } 
    ["created_at"]=> 
    object(MongoDB\BSON\UTCDateTime)#286 (1) { 
     ["milliseconds"]=> 
     string(10) "1672815231" 
    } 
    } 
    ["original":protected]=> 
    array(11) { 
    ["_id"]=> 
    object(MongoDB\BSON\ObjectID)#288 (1) { 
     ["oid"]=> 
     string(24) "58acfb2b202f941b50002ddf" 
    } 
    ["user_id"]=> 
    int(2) 
    ["admin_id"]=> 
    int(2) 
    ["logged_in_user"]=> 
    string(5) "admin" 
    ["date_added"]=> 
    string(19) "2017-02-22 02:44:59" 
    ["type"]=> 
    string(6) "update" 
    ["message"]=> 
    string(69) "Deceased Documents ofAniyah Gottlieb ID number 4 successfully updated" 
    ["before"]=> 
    string(188) "{"id":2,"d_id":4,"death_cert_no":null,"trans_permit_no":null,"crem_permit_no":null,"exhum_permit_no":null,"senior_card_no":null,"disabled_card_no":null,"created_at":null,"updated_at":null}" 
    ["after"]=> 
    string(211) "{"id":2,"d_id":4,"death_cert_no":"20171542","trans_permit_no":null,"crem_permit_no":null,"exhum_permit_no":null,"senior_card_no":null,"disabled_card_no":null,"created_at":null,"updated_at":"2017-02-22 02:44:59"}" 
    ["updated_at"]=> 
    object(MongoDB\BSON\UTCDateTime)#287 (1) { 
     ["milliseconds"]=> 
     string(10) "1672815231" 
    } 
    ["created_at"]=> 
    object(MongoDB\BSON\UTCDateTime)#286 (1) { 
     ["milliseconds"]=> 
     string(10) "1672815231" 
    } 
    } 
+0

?替換你的if條件@if(!empty($ loglist)) – rahulsm

+0

向我們展示您的打印陣列... – Nawin

+0

Hi @rahul_m,沒有指定特定的行。錯誤只是說 ErrorException在helpers.php行532: htmlspecialchars()期望參數1是字符串,給定的數組(查看:C:\ laragon \ www \模板\模塊\庫存\資源\視圖\ _logs.blade .php) 我試過了你的建議,但如果你刪除了那個foreach塊,它仍然工作,我仍然得到錯誤 –

回答

0

你之前和之後的變量是數組,這就是爲什麼你得到這個錯誤。試試這個代碼:

<tbody> 
     @if($loglist != null) 
      @foreach($loglist as $logs) 
       <tr> 
        <td>{{$logs->type}}</td> 
        <td>{{$logs->logged_in_user}}</td> 
        <td>{{$logs->date_added}}</td> 
        <td>{{$logs->message}}</td> 
        @foreach($logs->before as $before) 
        <td>{{$before->whatStringYouWant}}</td> 
        @endforeach 
        @foreach($logs->after as $after) 
        <td>{{$after->whatStringYouWant}}</td> 
        @endforeach 
       </tr> 
      @endforeach 
     @endif 
    </tbody> 
+0

哦!我之前和之後是json_encoded。但即使我從表格視圖中刪除他們,我仍然得到錯誤 –

+0

好吧,似乎'前後'是沒有問題的。除此之外,我們來看看。什麼是$ this-> data ['template'] = $ Init-> setup($ vars)' –

+0

我正在做一個特定的模塊,其中我使用了刀片視圖模板。通過'$ this-> data ['name_in_view'] = name_in_controller'將控制器的值識別爲視圖,並且所有'$ this-> data'包含在'$ this-> setup()'中更容易轉移價值投注。控制器和視圖。 –

0

一個或多個返回的對象屬性是數組。嘗試var_dump($logs)


我不能上線迴應還

相關問題