October 7, 2021 in Laravel, Php, Tips and Tricks
return view in route Laravel with URL parameters
In route file
Route::get('feed/{id}',function($id){
return view('app/feed',['id' => $id]);
});
In blade file
<?php
echo $id;
?>
October 7, 2021 in Laravel, Php, Tips and Tricks
In route file
Route::get('feed/{id}',function($id){
return view('app/feed',['id' => $id]);
});
In blade file
<?php
echo $id;
?>
September 29, 2021 in Laravel, Php, Tips and Tricks
php artisan config:clear
php artisan view:clear
php artisan route:clear
php artisan cache:clear
php artisan route:cache
php artisan config:cache
September 13, 2021 in Laravel, Tips and Tricks
Yes, its possible to set connection name if your model extends to
Illuminate\Database\Eloquent\Model;
$profile = UserDefaultProfile::setConnection('your_connection_name_goes_here')->where('','')->select('');
$input['user_id'] = $request->user_id;
$input['page']=$request->page;
$lang=$request->lang; //$lang Variable for connection name for a particular database
$input['ip']= request()->ip();//request()->getClientIp();
$user = CalActivity::on($lang)->create($input);
$success['a']="";
return $this->sendResponse($success, 'activity record successfully.');
August 11, 2021 in Laravel, MySql, Php, Tips and Tricks
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=mydatabase
DB_USERNAME=aditya
DB_PASSWORD=aditya
DB_CONNECTION_SECOND=mysql
DB_HOST_SECOND=127.0.0.1
DB_PORT_SECOND=3306
DB_DATABASE_SECOND=mydatabase2
DB_USERNAME_SECOND=aditya
DB_PASSWORD_SECOND=aditya
config/database.php
<?php
use Illuminate\Support\Str;
return [
'default' => env('DB_CONNECTION', 'mysql'),
'connections' => [
.....
'mysql' => [
'driver' => 'mysql',
'url' => env('DATABASE_URL'),
'host' => env('DB_HOST', '127.0.0.1'),
'port' => env('DB_PORT', '3306'),
'database' => env('DB_DATABASE', 'forge'),
'username' => env('DB_USERNAME', 'forge'),
'password' => env('DB_PASSWORD', ''),
'unix_socket' => env('DB_SOCKET', ''),
'charset' => 'utf8mb4',
'collation' => 'utf8mb4_unicode_ci',
'prefix' => '',
'prefix_indexes' => true,
'strict' => true,
'engine' => null,
'options' => extension_loaded('pdo_mysql') ? array_filter([
PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'),
]) : [],
],
'mysql2' => [
'driver' => env('DB_CONNECTION_SECOND'),
'host' => env('DB_HOST_SECOND', '127.0.0.1'),
'port' => env('DB_PORT_SECOND', '3306'),
'database' => env('DB_DATABASE_SECOND', 'forge'),
'username' => env('DB_USERNAME_SECOND', 'forge'),
'password' => env('DB_PASSWORD_SECOND', ''),
'unix_socket' => '',
'charset' => 'utf8mb4',
'collation' => 'utf8mb4_unicode_ci',
'prefix' => '',
'prefix_indexes' => true,
'strict' => true,
'engine' => null,
],
<?php
.....
public function up()
{
Schema::create('blog', function (Blueprint $table) {
$table->increments('id');
$table->string('title');
$table->string('body')->nullable();
$table->timestamps();
});
}
<?php
.....
public function up()
{
Schema::connection('mysql2')->create('blog', function (Blueprint $table) {
$table->increments('id');
$table->string('title');
$table->string('body')->nullable();
$table->timestamps();
});
}
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Blog extends Model
{
}
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Blog extends Model
{
protected $connection = 'mysql2';
}
<?php
class BlogController extends BaseController
{
public function getRecord()
{
$blogModel = new Blog;
$find = $blogModel->find(1);
return $find;
}
}
<?php
class BlogController extends BaseController
{
public function getRecord()
{
$blogModel = new Blog;
$blogModel->setConnection('mysql2');
$find = $blogModel->find(1);
return $find;
}
}
$blogs = DB::table("blog")->get();
print_r($blogs);
$blogs = DB::connection('mysql2')->table("blog")->get();
print_r($blogs);
August 10, 2021 in Laravel, Technology, Tips and Tricks
session(['key' => 'value']);
$value = $request->session()->get('key');
August 9, 2021 in Laravel, Technology, Tips and Tricks
| Command | Description |
|---|---|
$table->id(); | Alias of $table->bigIncrements('id'). |
$table->foreignId('user_id'); | Alias of $table->unsignedBigInteger('user_id'). |
$table->bigIncrements('id'); | Auto-incrementing UNSIGNED BIGINT (primary key) equivalent column. |
$table->bigInteger('votes'); | BIGINT equivalent column. |
$table->binary('data'); | BLOB equivalent column. |
$table->boolean('confirmed'); | BOOLEAN equivalent column. |
$table->char('name', 100); | CHAR equivalent column with a length. |
$table->date('created_at'); | DATE equivalent column. |
$table->dateTime('created_at', 0); | DATETIME equivalent column with precision (total digits). |
$table->dateTimeTz('created_at', 0); | DATETIME (with timezone) equivalent column with precision (total digits). |
$table->decimal('amount', 8, 2); | DECIMAL equivalent column with precision (total digits) and scale (decimal digits). |
$table->double('amount', 8, 2); | DOUBLE equivalent column with precision (total digits) and scale (decimal digits). |
$table->enum('level', ['easy', 'hard']); | ENUM equivalent column. |
$table->float('amount', 8, 2); | FLOAT equivalent column with a precision (total digits) and scale (decimal digits). |
$table->geometry('positions'); | GEOMETRY equivalent column. |
$table->geometryCollection('positions'); | GEOMETRYCOLLECTION equivalent column. |
$table->increments('id'); | Auto-incrementing UNSIGNED INTEGER (primary key) equivalent column. |
$table->integer('votes'); | INTEGER equivalent column. |
$table->ipAddress('visitor'); | IP address equivalent column. |
$table->json('options'); | JSON equivalent column. |
$table->jsonb('options'); | JSONB equivalent column. |
$table->lineString('positions'); | LINESTRING equivalent column. |
$table->longText('description'); | LONGTEXT equivalent column. |
$table->macAddress('device'); | MAC address equivalent column. |
$table->mediumIncrements('id'); | Auto-incrementing UNSIGNED MEDIUMINT (primary key) equivalent column. |
$table->mediumInteger('votes'); | MEDIUMINT equivalent column. |
$table->mediumText('description'); | MEDIUMTEXT equivalent column. |
$table->morphs('taggable'); | Adds taggable_id UNSIGNED BIGINT and taggable_type VARCHAR equivalent columns. |
$table->uuidMorphs('taggable'); | Adds taggable_id CHAR(36) and taggable_type VARCHAR(255) UUID equivalent columns. |
$table->multiLineString('positions'); | MULTILINESTRING equivalent column. |
$table->multiPoint('positions'); | MULTIPOINT equivalent column. |
$table->multiPolygon('positions'); | MULTIPOLYGON equivalent column. |
$table->nullableMorphs('taggable'); | Adds nullable versions of morphs() columns. |
$table->nullableUuidMorphs('taggable'); | Adds nullable versions of uuidMorphs() columns. |
$table->nullableTimestamps(0); | Alias of timestamps() method. |
$table->point('position'); | POINT equivalent column. |
$table->polygon('positions'); | POLYGON equivalent column. |
$table->rememberToken(); | Adds a nullable remember_token VARCHAR(100) equivalent column. |
$table->set('flavors', ['strawberry', 'vanilla']); | SET equivalent column. |
$table->smallIncrements('id'); | Auto-incrementing UNSIGNED SMALLINT (primary key) equivalent column. |
$table->smallInteger('votes'); | SMALLINT equivalent column. |
$table->softDeletes('deleted_at', 0); | Adds a nullable deleted_at TIMESTAMP equivalent column for soft deletes with precision (total digits). |
$table->softDeletesTz('deleted_at', 0); | Adds a nullable deleted_at TIMESTAMP (with timezone) equivalent column for soft deletes with precision (total digits). |
$table->string('name', 100); | VARCHAR equivalent column with a length. |
$table->text('description'); | TEXT equivalent column. |
$table->time('sunrise', 0); | TIME equivalent column with precision (total digits). |
$table->timeTz('sunrise', 0); | TIME (with timezone) equivalent column with precision (total digits). |
$table->timestamp('added_on', 0); | TIMESTAMP equivalent column with precision (total digits). |
$table->timestampTz('added_on', 0); | TIMESTAMP (with timezone) equivalent column with precision (total digits). |
$table->timestamps(0); | Adds nullable created_at and updated_at TIMESTAMP equivalent columns with precision (total digits). |
$table->timestampsTz(0); | Adds nullable created_at and updated_at TIMESTAMP (with timezone) equivalent columns with precision (total digits). |
$table->tinyIncrements('id'); | Auto-incrementing UNSIGNED TINYINT (primary key) equivalent column. |
$table->tinyInteger('votes'); | TINYINT equivalent column. |
$table->unsignedBigInteger('votes'); | UNSIGNED BIGINT equivalent column. |
$table->unsignedDecimal('amount', 8, 2); | UNSIGNED DECIMAL equivalent column with a precision (total digits) and scale (decimal digits). |
$table->unsignedInteger('votes'); | UNSIGNED INTEGER equivalent column. |
$table->unsignedMediumInteger('votes'); | UNSIGNED MEDIUMINT equivalent column. |
$table->unsignedSmallInteger('votes'); | UNSIGNED SMALLINT equivalent column. |
$table->unsignedTinyInteger('votes'); | UNSIGNED TINYINT equivalent column. |
$table->uuid('id'); | UUID equivalent column. |
$table->year('birth_year'); | YEAR equivalent column. |
August 8, 2021 in Laravel, Php, Technology, Tips and Tricks
composer create-project laravel/laravel example-app
cd example-app
php artisan serve
<!-- View stored in resources/views/home.blade.php -->
<html>
<body>
<h1>My Home Page {{ $name }}</h1>
</body>
</html>
<!-- Route stored in routes/web.php -->
Route::get('/', function () {
return view('greeting', ['name' => 'James']);
});
Step 1: Create model and controller
php artisan make:controller HomeController --resource --model=Home
Step 2: Create View in Laravel
<!-- View stored in resources/views/home.blade.php -->
<html>
<body>
<h1>My Home Page {{ $name }}</h1>
</body>
</html>
Step 3: call controller using route and display view
<!-- Route stored in routes/web.php -->
Route::get('/home', 'App\Http\Controllers\HomeController@index');
or
Route::get('/home', 'HomeController@index');
Note: changing the RouteServiceProvider.php file in App/Providers/ path by uncommenting the code.
protected $namespace = ‘App\Http\Controllers’;
php artisan make:controller ApiController
You will find a new file named ApiController.php in the app\http\controllers directory. Next, we can add the following methods:
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class ApiController extends Controller
{
public function sendResponse($result, $message)
{
$response = [
'success' => true,
'data' => $result,
'message' => $message,
];
return response()->json($response, 200);
}
/**
* return error response.
*
* @return \Illuminate\Http\Response
*/
public function sendError($error, $errorMessages = [], $code = 404)
{
$response = [
'success' => false,
'message' => $error,
];
if(!empty($errorMessages)){
$response['data'] = $errorMessages;
}
return response()->json($response, $code);
}
//
public function getList() {
/* $test = Test::get()->toJson(JSON_PRETTY_PRINT);
return response($tests, 200);*/
/* return response()->json([
"message" => "student record created"
], 201);*/
$data= array();
$data = DB::connection('default')->table('users')->where('id',$id)->get();
return $this->sendResponse($data, 'Successfully');
}
}
Proceed to the routes directory and open the api.php file and create the endpoints that will reference the methods created earlier in the ApiController
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Route;
<!-- Route stored in routes/api.php -->
Route::get('getList', 'App\Http\Controllers\ApiController@getList');
or
Route::get('getList', 'ApiController@getList');
Test Api using Postman

composer dumpautoload
php artisan cache:clear
php artisan config:clear
php artisan view:clear
make:channel Create a new channel class
make:command Create a new Artisan command
make:controller Create a new controller class
make:event Create a new event class
make:exception Create a new custom exception class
make:factory Create a new model factory
make:job Create a new job class
make:listener Create a new event listener class
make:mail Create a new email class
make:middleware Create a new middleware class
make:migration Create a new migration file
make:model Create a new Eloquent model class
make:notification Create a new notification class
make:observer Create a new observer class
make:policy Create a new policy class
make:provider Create a new service provider class
make:request Create a new form request class
make:resource Create a new resource
make:rule Create a new validation rule
make:seeder Create a new seeder class
make:test Create a new test class
April 25, 2020 in Laravel, Php, Tips and Tricks
There are two ways available to find the version of the Laravel application. You can either find it by running a command or you can check the Laravel version in files.
Open the terminal on your system. Navigate to the webroot directory of the Laravel application. Now execute the following PHP artisan command to check the Laravel version.
$ php artisan --version
Laravel Framework 5.6.39
Sometimes you may not have access to the terminal of server-hosted Laravel application. Or you may not much familiar with the command line. In that case, you can simply view the Laravel version in the following file.
First navigation to Laravel webroot directory.
$ vim ./vendor/laravel/framework/src/Illuminate/Foundation/Application.php

January 31, 2020 in Laravel, Php, Tips and Tricks
HTTP to HTTPS
<?php
//echo empty($_SERVER['HTTPS']);
if(empty($_SERVER['HTTPS'])) {
$redirect= "https://www".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
//header("location:$redirect"); //php
return redirect()->to($redirect)->send(); //laravel
}
?>
HTTPS to HTTPS
<?php
//echo empty($_SERVER['HTTPS']);
if(!empty($_SERVER['HTTPS'])) {
$redirect= "http://www".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
//header("location:$redirect"); //php
return redirect()->to($redirect)->send(); //laravel
}
?>
November 21, 2019 in Laravel, Learning, News
Credit where is due. Last year I stumbled upon an article of Josip Crnković, in which he walked through some of the useful interfaces the framework has. In it, he discovers some that are used to send a Response to the browser.
After giving them a shot, I have to say these alleviates a lot of DRY problems and slims down multiple lines of code to just a few. In this series of articles I will check them out, as these may help you to code more easily your application.
Have you ever wished to lean your Http Controllers full of frankenstein code? Are you tired of creating the Response every freaking time? Then you need the Responsable interface!