How to Call a controller function in another controller Laravel
How to Call a controller function in another controller Laravel
In this session, we will try our hand at solving the "How to Call a controller function in another controller Laravel".
I have a user controller function `getUser()` and i want to call this controller function in home controller function. How can i call a controller function in another controller in Laravel.-
Call a controller function from another controller in Laravel
You can easily call a controller function using
(new OtherController)->method()
in another controller by importing controller class withuse App\Http\Controllers\UserController;
after namespace in controller.Syntax for calling controller method.
$result = (new OtherController)->method();
Example code:
app\Http\Controllers\UserController.php
<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use App\Models\User; class UserController extends Controller { public function getUser(){ return User::first(); } }
app\Http\Controllers\HomeController.php
<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use App\Http\Controllers\UserController; class HomeController extends Controller { public function getUserFromUserControllerMethod(){ $result = (new UserController)->getUser(); print_r($result); } }
routes\web.php
Route::get('/get-user', [HomeController::class, 'getUserFromUserControllerMethod']);
Output:
App\Models\User Object ( [fillable:protected] => Array ( [0] => name [1] => email [2] => password [3] => username ) [hidden:protected] => Array ( [0] => password [1] => remember_token ) [casts:protected] => Array ( [email_verified_at] => datetime ) [connection:protected] => mysql [table:protected] => users [primaryKey:protected] => id [keyType:protected] => int [incrementing] => 1 [with:protected] => Array ( ) [withCount:protected] => Array ( ) [preventsLazyLoading] => [perPage:protected] => 15 [exists] => 1 [wasRecentlyCreated] => [escapeWhenCastingToString:protected] => [attributes:protected] => Array ( [id] => 1 [name] => Mr. Jay Price Jr. [email] => ziemann.eldora@example.net [email_verified_at] => 2022-03-03 11:01:39 [password] => $2y$10$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi [remember_token] => q0i9UhitUF [username] => [created_at] => 2022-03-03 11:01:39 [updated_at] => 2022-03-03 11:01:39 ) [original:protected] => Array ( [id] => 1 [name] => Mr. Jay Price Jr. [email] => ziemann.eldora@example.net [email_verified_at] => 2022-03-03 11:01:39 [password] => $2y$10$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi [remember_token] => q0i9UhitUF [username] => [created_at] => 2022-03-03 11:01:39 [updated_at] => 2022-03-03 11:01:39 ) [changes:protected] => Array ( ) [classCastCache:protected] => Array ( ) [attributeCastCache:protected] => Array ( ) [dates:protected] => Array ( ) [dateFormat:protected] => [appends:protected] => Array ( ) [dispatchesEvents:protected] => Array ( ) [observables:protected] => Array ( ) [relations:protected] => Array ( ) [touches:protected] => Array ( ) [timestamps] => 1 [visible:protected] => Array ( ) [guarded:protected] => Array ( [0] => * ) [rememberTokenName:protected] => remember_token [accessToken:protected] => )
-
Call controller from another controller
$users = app('App\Http\Controllers\UserController')->getUser();
If you like what you are reading, please consider buying us a coffee ( or 2 ) as a token of appreciation.
Don't forget to share this article! Help us spread the word by clicking the share button below.
We appreciate your support and are committed to providing you valuable and informative content.
We are thankful for your never ending support.
Random Code Snippet Queries: Laravel
- How to get data from two tables in laravel
- Wheredate in laravel not working
- Delete file from amazon s3 bucket using Laravel
- Add a subselect based on relationship using withAggregate method
- How to get last record from object collection in laravel
- Post model with title and body in laravel 8
- Touch parent updated_at in Laravel
- Redirect to previous page or url in laravel
- Target class [admin] does not exist.
- Get the post details if it has at least one comment in comments table
- The Pusher library requires the PHP cURL module. Please ensure it is installed
- Create user in Laravel using tinker
- How to Access Array in blade laravel
- Update record after find method in lavavel
- Define variable and use in Laravel controller method
- Composer\Exception\NoSslException
- Laravel 9 pagination with search filter
- Laravel 10 Breeze Authentication Example
- How to create static page in Laravel
- Conditional validation in laravel
- How to insert multiple rows in mysql using loop in laravel?
- Pagination in laravel
- How to insert dynamic value to additional column in pivot table in laravel
- How to check records exist in loaded relationship in Laravel blade view
- How to add dynamic page title in Laravel view