in My Larvel 5.6 app I am working with mysql db. and in my application I have vehicle table with following columns, vehicles,
JavaScript
x
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,
JavaScript
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,
JavaScript
@foreach($models as $model)
{{ $model->modelname }}
@endforeach
it is printing well as
JavaScript
520d
mark
ultra
now I need print in-front of model name there brand name as
JavaScript
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:
JavaScript
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:
JavaScript
@foreach($models as $model)
{{ $model->modelname }} - {{ $model->brand }}
@endforeach