• No results found

Delete RecordsDelete Records

In document Laravel Tutorial (Page 80-95)

Delete Records

We can delete the record using the DBDB facade with the deletedelete method. The syntax of delete method is shown in the following table.

Syntax

Syntax int delete(string $query, array $bindings = array())

Parameters Parameters

$query(string) – query to execute in database

$bindings(array) – values to bind with queries

Returns

Returns int

Description

Description Run a delete statement against the database.

Example

Example

Step 1:

Step 1: Execute the below command to create a controller called StudDeleteControllerStudDeleteController. php artisan make:controller StudDeleteController --plain

Step 2:

Laravel

Step 3:

Step 3: Copy the following code to file

app/Http/Controllers/StudDeleteController.php app/Http/Controllers/StudDeleteController.php app/Http/Controllers/StudDeleteController.php app/Http/Controllers/StudDeleteController.php <?php namespace App\Http\Controllers; use Illuminate\Http\Request; use DB; use App\Http\Requests; use App\Http\Controllers\Controller;

class StudDeleteController extends Controller {

public function index(){

$users = DB::select('select * from student'); return view('stud_delete_view',['users'=>$users }

public function destroy($id) {

DB::delete('delete from student where id = ?',[$id echo "Record deleted successfully.<br/>";

echo '<a href="/delete-records">Click Here</a> to go back.'; }

}

Step 4:

Step 4: Create a view file called resources/views/stud_delete_view.blade.phpresources/views/stud_delete_view.blade.php and copy the following code in that file.

resources/views/stud_delete_view.blade.php resources/views/stud_delete_view.blade.php

<html>

<head><title>View Student Records</title></head> <body>

<table border="1"> <tr>

Laravel

<td>ID</td> <td>Name</td> <td>Edit</td> </tr>

@foreach ($users as $user) <tr>

<td>{{ $user->id }}</td> <td>{{ $user->name }}</td>

<td><a href='delete/{{ $user->id }}'>Delete</a></td> </tr> @endforeach </table> </body> </html> Step 5:

Step 5: Add the following lines in app/Http/routes.php.app/Http/routes.php.

app/Http/routes.php app/Http/routes.php

Route::get('delete-records','StudDeleteController@index'); Route::get('delete/{id}','StudDeleteController@destroy');

Step 6:

Step 6: The output will appear as shown in the following image.

Step 7:

Step 7: Click on delete link to delete that record from database. You will be redirected to a page where you will see a message as shown in the following image.

Laravel

Step 8:

Step 8: Click on “Click Here” link and you will be redirected to a page where you will see all the records except the deleted one.

Laravel

Errors

Errors

A project while underway, is borne to have a few errors. Errors and exception handling is already configured for you when you start a new Laravel project. Normally, in a local environment we need to see errors for debugging purposes. We need to hide these errors from users in production environment. This can be achieved with the variable APP_DEBUG

APP_DEBUG set in the environment file .env.env stored at the root of the application.

For local environment the value of APP_DEBUGAPP_DEBUG should be truetrue but for production it needs to be set to falsefalse to hide errors.

Note:

Note: After changing the APP_DEBUGAPP_DEBUG variable, restart the Laravel server.

Logging

Logging

Logging is an important mechanism by which system can log errors that are generated. It is useful to improve the reliability of the system. Laravel supports different logging modes like single, daily, syslog, and errorlog modes. You can set these modes in config/app.phpconfig/app.php file.

'log' => 'daily'

Laravel

Laravel provides various in built tags to handle HTML forms easily and securely. All the major elements of HTML are generated using Laravel. To support this, we need to add HTML package to Laravel using composer.

Example 1

Example 1

Step 1:

Step 1: Execute the following command to proceed with the same. composer require illuminate/html

Step 2:

Laravel

Step 3:

Step 3: Now, we need to add this package to Laravel configuration file which is stored at config/app.php

config/app.php. Open this file and you will see a list of Laravel service providers as shown in the following image. Add HTML service provider as indicated in the outlined box in the following image.

Laravel

Step 4:

Step 4: Add aliases in the same file for HTML and Form. Notice the two lines indicated in the outlined box in the following image and add those two lines.

Laravel

Step 5:

Step 5: Now everything is setup. Let’s see how we can use various HTML elements using Laravel tags. Opening a Form Opening a Form {{ Form::open(array('url' => 'foo/bar')) }} // {{ Form::close() }}

Generating a Label Element Generating a Label Element

echo Form::label('email', 'E-Mail Address');

Generating a Text Input Generating a Text Input

echo Form::text('username');

Specifying a Default Value Specifying a Default Value

echo Form::text('email', '[email protected]');

Generating a Password Input Generating a Password Input

echo Form::password('password');

Generating a File Input Generating a File Input

echo Form::file('image');

Generating a Checkbox Or Radio Input Generating a Checkbox Or Radio Input echo Form::checkbox('name', 'value'); echo Form::radio('name', 'value');

Generating a Checkbox Or Radio Input That Is Checked Generating a Checkbox Or Radio Input That Is Checked

echo Form::checkbox('name', 'value', true); echo Form::radio('name', 'value', true);

Laravel

Generating a Drop-Down List Generating a Drop-Down List

echo Form::select('size', array('L' => 'Large', 'S' => 'Small'));

Generating A Submit Button Generating A Submit Button

echo Form::submit('Click Me!');

Example 2

Example 2

Step 1:

Step 1: Copy the following code to create a view called resources/views/form.php.resources/views/form.php.

resources/views/form.php resources/views/form.php

<html> <body>

<?php

echo Form::open(array('url' => 'foo/bar')); echo Form::text('username','Username'); echo '<br/>';

echo Form::text('email', '[email protected]'); echo '<br/>';

echo Form::password('password'); echo '<br/>';

echo Form::checkbox('name', 'value'); echo '<br/>';

echo Form::radio('name', 'value'); echo '<br/>';

echo Form::file('image'); echo '<br/>';

echo Form::select('size', array('L' => 'Large', 'S' => 'Small'));

echo '<br/>';

echo Form::submit('Click Me!'); echo Form::close();

?> </body>

Laravel

</html>

Step 2:

Step 2: Add the following line in app/Http/routes.phpapp/Http/routes.php to add a route for view form.php

app/Http/routes.php app/Http/routes.php Route::get('/form',function(){ return view('form'); }); Step 3:

Step 3: Visit the following URL to see the form.

http://localhost:8000/form

Step 4:

Laravel

Localization feature of Laravel supports different language to be used in application. You need to store all the strings of different language in a file and these files are stored at resources/views

resources/views directory. You should create a separate directory for each supported language. All the language files should return an array of keyed strings as shown below.

<?php return [

'welcome' => 'Welcome to the application' ];

Example

Example

Step 1:

Step 1: Create 3 files for languages — EnglishEnglish, FrenchFrench, and GermanGerman. Save English file at resources/lang/en/lang.phpresources/lang/en/lang.php

<?php return [

'msg' => 'Laravel Internationalization example.' ];

?>

Step 2:

Step 2: Save French file at resources/lang/fr/lang.php.resources/lang/fr/lang.php. <?php

return [

'msg' => 'Exemple Laravel internationalisation.' ];

?>

Step 3:

Step 3: Save German file at resources/lang/de/lang.php.resources/lang/de/lang.php. <?php

return [

'msg' => 'Laravel Internationalisierung Beispiel.' ];

Laravel

Step 4:

Step 4: Create a controller called LocalizationControllerLocalizationController by executing the following command.

php artisan make:controller LocalizationController --plain

Step 5:

Step 5: After successful execution, you will receive the following output:

Step 6:

Step 6: Copy the following code to file

app/Http/Controllers/LocalizationController.php app/Http/Controllers/LocalizationController.php app/Http/Controllers/LocalizationController.php app/Http/Controllers/LocalizationController.php <?php namespace App\Http\Controllers; use Illuminate\Http\Request; use App\Http\Requests; use App\Http\Controllers\Controller;

class LocalizationController extends Controller {

Laravel

//set’s application’s locale app()->setLocale($locale);

//Gets the translated message and displays it echo trans('lang.msg');

} }

Step 7:

Step 7: Add a route for LocalizationController in app/Http/routes.phpapp/Http/routes.php file. Notice that we are passing {locale} argument after localization/ which we will use to see output in different language.

app/Http/routes.php app/Http/routes.php

Route::get('localization/{locale}','LocalizationController@index');

Step 8:

Step 8: Now, let us visit the different URLs to see all different languages. Execute the below URL to see output in English language.

http://localhost:8000/localization/en

Step 9:

Step 9: The output will appear as shown in the following image.

Step 10:

Step 10: Execute the below URL to see output in French language. http://localhost:8000/localization/fr

Step 11:

Step 11: The output will appear as shown in the following image.

Step 12:

Laravel

http://localhost:8000/localization/de

Step 13:

Laravel

Sessions are used to store information about the user across the requests. Laravel provides various drivers like file, cookie, apc, array, Memcached, Redisfile, cookie, apc, array, Memcached, Redis, and database

database to handle session data. By default, file driver is used because it is lightweight. Session can be configured in the file stored at config/session.phpconfig/session.php.

In document Laravel Tutorial (Page 80-95)