Skip to content
Advertisement

Array to string conversion laravel 7

i need to get the values without string in array. this will be name of fields :

 static function showCust(){
   $table = DB::table("dummy_db.customer")->select("*")->paginate(10);
   $getFieldName = ["CUST_NAME", "CUST_CITY"];

   foreach($table as $items){
        $a[] = $items->$getFieldName[0];
   }
   dd($a);
}

but the results :

ErrorException Array to string conversion.

Advertisement

Answer

Problem 1: call object property by element of array

The error msg occurs because $getFieldName as a variable, object call the variable without [0], you need to wrap $getFieldName[0] with brace:

$items->{$getFieldName[0]};

Problem 2: Get collection from paginator:

You are applying paginate to query-builder, the result will be IlluminatePaginationLengthAwarePaginator object.

If you want to get the customer objects inside. You can use getCollection() method to $table:

   foreach($table->getCollection() as $items){
        $a[] = $items->${getFieldName[0]};
   }
User contributions licensed under: CC BY-SA
10 People found this is helpful
Advertisement