Many times you might want to use this wonderful thing called Route Model Binding in Laravel but back off because you might need its related table data too. Yup! I too had come across this situation.
Example - You want to show Customer details and CustomerAddress details so you would have done something like the following
public function show($customer)
{
$customer = Customer::with('customerAddress')->where('id', $customer)->first();
return view('customer.show', [
'customer' => $customer
]);
}
But let me explain 2 simple approaches to achieve it.
public function show(Customer $customer)
{
$customerAddress = CustomerAddress::where('id', $customer)->get();
return view('customer.show', [
'customer' => $customer,
'customerAddress' => $customerAddress
]);
}
Now lets see the simple way
load
)public function show(Customer $customer)
{
/** Super Awesome Right? */
$customer->load(['customerAddress']);
return view('customer.show', [
'customer' => $customer
]);
}
Yup the following is the super cool line.
$customer->load(['customerAddress']);
Make sure to use this wisely as it will load all the related table every time you query.
class Customer extends Model
{
use SoftDeletes;
protected $with = ['customerAddress'];
}
Hope the article was helpful. Kindly share it with your friends.
Automate Repeating Tasks In Linux Server With Cronjobs
Custom Validation Rules In PHP Laravel (Using Artisan Command)
composer.json v/s composer.lock
What Is HTTP? Different HTTP Methods And Status Codes Explained With Examples
Basic Server Security Setup For Ubuntu / Linux
PHP extension ext-intl * is missing
Sass or SCSS @mixin vs @extends vs Placeholder (%)
Install NGINX In Linux / Ubuntu And Managing
Send Email In PHP With PHPMailer
Generate RSS Feeds in PHP Laravel
Facebook Login With PHP Laravel Socialite
Laravel Custom Maintenance Page
Increase Session Timeout In Laravel
Debugging Laravel Queue Email Issues
Move Uploaded Files From Local Computer Or Server To Amazon S3 Bucket In PHP