SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 1000 bytes (Connection: mysql, SQL: alter table `personal_access_tokens` add index `personal_access_tokens_tokenable_type_tokenable_id_index`(`tokenable_type`, `tokenable_id`))
at vendor\laravel\framework\src\Illuminate\Database\Connection.php:801
797â–• $this->getName(), $query, $this->prepareBindings($bindings), $e
798â–• );
799â–• }
800â–•
âžś 801â–• throw new QueryException(
802â–• $this->getName(), $query, $this->prepareBindings($bindings), $e
803â–• );
804â–• }
805â–• }
1 vendor\laravel\framework\src\Illuminate\Database\Connection.php:580
PDOException::("SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 1000 bytes")
2 vendor\laravel\framework\src\Illuminate\Database\Connection.php:580
PDOStatement::execute()
'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'),
]) : [],
],
'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' => 'utf8',
'collation' => 'utf8_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'),
]) : [],
],
Ans = Laravel is a free, open-source PHP web framework, created by Taylor Otwell and intended for the development of web applications following the model–view–controller (MVC) architectural pattern
Ans = MVC stands for Model View Controller and it's a design pattern that helps to separate the code into three parts: model, view & controller. The main
composer
composer global require laravel/installer
laravel new [app-name]
composer create-project laravel/laravel [app-name]
For more inforemation laravel.com
cd [app-name]
php artisan serve
Route::get('/', function () {
return view('welcome');
});
or
Route::view('/', 'welcome');
- view() => view Folder Path => resources/views
- 'welcome' => File name => resources/views/welcome.blade.php
Route::get('/demo/{id}', function (string $id) {
return 'User '.$id;
});
Route::get('/demo/{id?}', function (string $id = null) {
if ($id) {
return 'User '.$id;
} else {
return 'User ';
}
});
Route::get('/demo/{id?}', function (string $id = null) {
if ($id) {
return 'User '.$id;
} else {
return 'User ';
}
})->whereNumber('id')
- view() => view Folder Path => resources/views
- 'welcome' => File name => resources/views/welcome.blade.php
php artisan
php artisan route:list
php artisan route:list --except-vendor
php artisan route:list --path=[name]
Route::get('/pages/about-us', function () {
return view('welcome');
})->name('about')
<a href={{ route('about') }}>About</a>
Route::redirect('/test','/about', 301)
3 parameter of redirect codes
Route::get('/pages/services', function () {});
Route::get('/pages/about', function () {});
Route::get('/pages/login', function () {});
Change to
Route::group(['prefix'=>'pages'],function(){
Route::get('/services', function () {});
Route::get('/about', function () {});
Route::get('/login', function () {});
});
<?php
echo "hello";
?>
{{ "hello" }}
<?php
echo $name;
?>
{{ $name }}
<?php
echo "<h1>Hello</h1>";
?>
{!! "<h1>Hello</h1>"!!}
{!! "<script>console.log("hello")</script>"!!}
<?php
?>
@php
@endphp
<?php
// comment
?>
{--comment--}
<?php
if (condition) {
# code...
}elseif (condition) {
# code...
}
else {
# code...
}
?>
@if (condition)
# code...
@elseif (condition)
# code...
@else
# code...
@endif
switch ($variable) {
case 'value':
# code...
break;
default:
# code...
break;
}
@switch($variable)
@case('value')
# code...
@break
@default
@endswitch
if (isset($var)) {
# code...
}
@isset($var)
#code ...
@endisset
if (empty($var)) {
# code...
}
@empty($var)
#code ...
@endempty
@for ($i=0; $i < ; $i++)
the value is {{$i}}
@endfor
@foreach ($variable as $key => $value)
this is {{$key}} and value {{$value}}
@endforeach
@While(condition)
#code ...
@endwhile
@forelse($users as $user)
<li>{{$users->name}}</li>
@empty
<p>No users</p>
$endforelse
@continue
@break
<ul>
@foreach($names as $name)
<li>{{$loop->index}} - {{ $n }}</li>
@endforeach
</ul>
@include("header")
@include("pages.header")
@include("pages.header", ['name', => "Atul"])
{{$name}}
@includeif("pages.header")
@includeWhen(Condition value,'viewfile',['status' => 'Hello'])
eg )
@includeWhen(true,'pages/header')
@includeWhen(false,'pages/header')
@includeUnless(Condition value,'viewfile',['status' => 'Hello'])
eg )
@includeUnless(true,'pages/header')
@includeUnless(false,'pages/header')
@section('content')
<h1>This is content</h1>
@endsection
@yield('content', 'Default Value')
@yield('content', )
@else
<h2>No Content Found</h2>
@endif
OR
@hasSection('content')
@section('sidebar')
#code ...
@show
@section('sidebar')
@parent
you want add
@endsection
{{asset('folder/file.txt')}}
<script>
var data = @json($data);
</script>
Or
<script>
var data = {{ Js::from($fruits) }};
</script>
@stack('script')
add
@push('script')
<script src="http://github.com/srcript.js"></script>
@endpush
@prepend('style')
#add css, js and if use internal pls add with tags
@endprependvar name = 'Atul';Route::get('/user', function () {
return view('user', [
'user' => "Atul",
'city' => "Ambala"
]);
});Or
Route::get('/user', function () {
return view('user')->with('user', "Atul")->with('city', "Ambala")
});Or
Route::get('/user', function () {
return view('user')->withUser("Atul")->withCity("Ambala")
});PageController.php
class PageController extends Controller
{
public function showHome(){
return view('welcome');
}
public function showUser(){
return view('user', compact('id'));
}
}
users.blade.php
Route::controller(PageController::class)->group( function (){
Route::get('/','showHome')->name('home');
Route::get('/blog','showHome')->name('blog');
Route::get('/user/{id}','showUser')->name('users');
})
use app\Http\Controllers\TestingContoller
php artisan make:model [Name]
class passwordModal extends Model
{
use HasFactory;
protected $table = '[TableName]';
protected $primaryKey = '[tablerimaryID]';
}
php artisan make:migration create_demo_table
php artisan make:migration demo
php artisan migration:status
php artisan migration --force
php artisan migration:rollback
php artisan migration:rollback -step=3
you back to 3 step back in migration
php artisan migration:rollback -batch=2
you back to 2 migration
php artisan migration:reset
php artisan migration
php artisan migrate:fresh
php artisan migrate:refresh
php artisan make:model Users -m
- -m Used for create migration of same name