Skip to content
Advertisement

How to print table data in Laravel 5.6?

in My Larvel 5.6 app I am working with mysql db. and in my application I have vehicle table with following columns, vehicles,

id  category  number  brand model
1   car       123     bmw   520d
2   van       258     ford  mark
3   car       256     benz  ultra
4   car       259     bmw   520d
etc

and I am going to group all models of the table and printing here as My controller,

public function modelstatic()
{
      $models = Vehicle::groupBy('modelname')->select('id', 'modelname', DB::raw('COUNT(*) as cnt'))->get();  
      return view('modelreports.modelstatic')->withModels($models);
}

my printing blade file is this,

@foreach($models as $model)
     {{ $model->modelname }}
@endforeach

it is printing well as

520d
mark
ultra

now I need print in-front of model name there brand name as

520d - bmw
mark - ford
ultra - benz

Then how can I do this now? I have separate Models for brand and model and still there are not relationship between Models. how can I do this, may I need relationship or may I could print brand name via vehicle table data?

Advertisement

Answer

The same way you select the model name column, you must also select the brand column, and then print the model with his brand name.

Try this:

In your controller:

public function modelstatic(){
      $models = Vehicle::groupBy('modelname')->select('id', 'modelname', 'brand', DB::raw('COUNT(*) as cnt'))->get();  
      return view('modelreports.modelstatic')->withModels($models);
}

and in your view:

@foreach($models as $model)
     {{ $model->modelname }} - {{ $model->brand }}
@endforeach
User contributions licensed under: CC BY-SA
3 People found this is helpful
Advertisement