LARAVEL


  • Use search terms in eloquent queries for Laravel

    Use search terms in eloquent queries for Laravel

    I needed to make an Eloquent query that could take search terms. The search terms are optional – no search term and the whole dataset is returned. In our particular data model the Users have one or many Associations. So the search term should check for user name, phone, email and association name. In the…

  • Impersonate users with Sanctum in Laravel

    Impersonate users with Sanctum in Laravel

    I needed to write a somewhat clean solution to let an admin impersonate other users. Which basically means that one user can appear as another user – without having to get access that users credentials to log in. The most obvious use case for this would be when an admin needs access to a user’s…

  • (PHP) Serve Laravel to the web

    (PHP) Serve Laravel to the web

    This will make your Laravel instance available on the web. Make sure your router have port 80 forwarded to your machine. Also make sure no other server applications is blocking the port. [php] php artisan serve –host 0.0.0.0 –port 80 [/php]

  • (PHP) Add column to table in Laravel

    Create migration in console: [php] php artisan make:migration add_mycolumn_to_mytable [/php] Use Schema::table() to access existing table (instead of Schema::create() for creating new tables) [php] public function up() { Schema::table(‘mytable’, function($table) { $table->text(‘mycolumn’); }); } public function down() { Schema::table(‘mytable’, function($table) { $table->dropColumn(‘mycolumn’); }); } [/php] Then run migrations: [php] php artisan migrate [/php]

  • (PHP) Laravel helpful plugins

    Generate Seed from Database https://github.com/orangehill/iseed Generate Migrations from Database: https://github.com/Xethron/migrations-generator

  • (PHP) Get a list of run database queries in Laravel

    This is great if you want to see what queries are actually run when using Eloquent. [php] // Get all querys run $queries = DB::getQueryLog(); // If you want to sort them by time this works usort($queries, function ($a, $b) { return $a[‘time’] < $b[‘time’]; }); // Print them on screen in a readable way…

  • (PHP) Log Laravel execution time to console

    Put this in app/start/global.php to get Laravels execution time to the browser console log. L4 [php] $start = microtime(true); App::finish(function() use ($start) { echo "<script>console.log(‘App finish: ".round((microtime(true) – $start) * 1000, 3)." ms’)</script>"; }); [/php] This works with L5: [html] This page took {{ (microtime(true) – LARAVEL_START) }} seconds to render [/html]

  • (PHP) Eloquent doodles for Laravel

    [php] // Get model by primary key $myModel = MyModel::find($id); //Where can use short syntax for equal comparison. $myModels = MyModel::where(‘someAttribute’, ‘=’, ‘someValue’)->get(); $myModels = MyModel::where(‘someAttribute’, ‘someValue’)->get(); // Delete models $affectedRows = MyModel::where(‘someAttribute’, ‘someValue’)->delete(); // Select distinct $distincts = MyModel::distinct()->select(‘someAttribute’)->where(‘someAttribute’, ‘someValue’)->get(); // Select with Limit and offset $myModels = MyModel::limit(30)->get(); $myModels = MyModel::limit(30)->offset(30)->get(); [/php] Different…

  • (PHP) Using route groups in Laravel to protect routes

    To protect routes, in Laravel, from unauthorized visits you can use route groups. All routes in group will be affected by the auth before filter. [php] Route::group(array(‘before’ => ‘auth’), function() { Route::get(‘controlpanel’, ‘CustomerPanel@showPanel’); Route::get(‘secret’, ‘Secret@showSecret’); Route::post(‘setup’, ‘SetupController@doSetup’); }); [/php]