Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

341
Views
La consulta devuelve Object(Builder), propiedad indefinida

tengo el siguiente código

 public function detailCustomer(Customer $customer) { $vehicles = DB::table('vehicles') ->selectRaw('*') ->where('cust_id', '=', $customer->id); return view('customers.detail', array('customer' => $customer, 'vehicles' => $vehicles)); }

Donde la tabla de vehicles consta de:

 spz cust_id <FK> //this is foreign key to customer->id type brand

En la vista de detalles de customers.detail , intenté usar el siguiente código para mostrar datos, pero aparece este error:

Undefined property: Illuminate\Database\PostgresConnection::$spz

Código:

 @if (count($vehicles) > 0) <?php $i = 1; ?> @foreach ($vehicles as $vehicle) <?php $i++; ?> <td>{{$vehicle->spz}}</td> <td>{{$vehicle->type}}</td> <td>{{$vehicle->brand}}</td> @endforeach @endif

He leído este tema , pero parece que no es mi problema porque uso foreach para iterar a través del objeto, pero parece que no obtengo el objeto de la base de datos en mi variable $vehicles , porque en la página de error, también muestra algo como esto:

 'customer' => object(Customer), 'vehicles' => object(Builder)

¿Qué me hace pensar que customer obtiene su objeto correctamente, pero vehicles obtienen el Builder ? Realmente no tengo idea de lo que está mal allí. ¿Algunas ideas? Solo para describir lo que estoy haciendo en el proyecto en el que trabajo, tengo una página de detalles del cliente donde hago clic en un botón para agregar un vehículo a su página de detalles (página de perfil) y envío la id del cliente como parámetro a la función donde agregue el vehículo a la base de datos, que funciona (el vehículo se agrega correctamente con la id del cliente). Ahora ese problema aparece cuando quiero mostrar la página de detalles con información del vehículo como muestra el código anterior. Espero que sea lo suficientemente claro. Gracias por las sugerencias.

over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

Intente agregar ->get() o ->paginate($YOUR_LIMIT_ONE_PAGE) en su Controlador

 public function detailCustomer(Customer $customer) { $vehicles = DB::table('vehicles') ->selectRaw('*') ->where('cust_id', '=', $customer->id)->get(); // ->where('cust_id', '=', $customer->id)->paginate($YOUR_LIMIT_ONE_PAGE); return view('customers.detail', array('customer' => $customer, 'vehicles' => $vehicles)); }

Y trata de reemplazar tu foreach por este forelse

 @forelse ($vehicles as $index => $vehicle) <tr> <td>{{$index}}</td> <td>{{($vehicle->spz !== null) ? $vehicle->spz : '-'}}</td> <td>{{($vehicle->type !== null) ? $vehicle->type : '-'}}</td> <td>{{($vehicle->brand !== null) ? $vehicle->brand : '-'}}</td> </tr> @empty <td colspan='4'>Data not found</td> @endforelse
over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!