Pages

09 January, 2021

How to insert data in database - Laravel

 

        How to insert data in database - Laravel
        Insert Data In Data Base Laravel 

        We going to show you that how to insert data in database - Laravel

        These Are given steps you follow and complete your task .

        1st we create a table in databse

        The INSERT INTO statement is used to insert new data to a MySQL table:

        INSERT INTO table_name (column1, column2, column3,...)
        VALUES (value1, value2, value3,...)
        To learn more about SQL, please visit our SQL tutorial.

        For creating table the SQL query is:

        SQL Query
        CREATE TABLE student_details
        (
        id int NOT NULL AUTO_INCREMENT,
        first_name varchar(50),
        last_name varchar(50),
        city_name varchar(50),
        email varchar(50),
        PRIMARY KEY (id)
        );

        Create 3 files for insert data in Laravel :

        StudInsertController.php (app/Http/Controllers/StudInsertController.php)
        stud_create.php (resources/views/stud_create.php)
        web.php (routes/web.php)
        stud_create.blade.php(View File)

        <!DOCTYPE html>
        <html>
        <head>
        <title>Student Management | Add</title>
        </head>
        <body>
        @if (session('status'))
        <div class="alert alert-success" role="alert">
            <button type="button" class="close" data-dismiss="alert">×</button>
            {{ session('status') }}
        </div>
        @elseif(session('failed'))
        <div class="alert alert-danger" role="alert">
            <button type="button" class="close" data-dismiss="alert">×</button>
            {{ session('failed') }}
        </div>
        @endif
        <form action = "/create" method = "post">
            <input type = "hidden" name = "_token" value = "<?php echo csrf_token(); ?>">
            <table>
            <tr>
            <td>First Name</td>
            <td><input type='text' name='first_name' /></td>
            <tr>
            <td>Last Name</td>
            <td><input type="text" name='last_name'/></td>
            </tr>
            <tr>
            <td>City Name</td>
            <td>
            <select name="city_name">
            <option value="bbsr">Bhubaneswar</option>
            <option value="cuttack">Cuttack</option>
            </select></td>
            </tr>
            <tr>
            <td>Email</td>
            <td><input type="text" name='email'/></td>
            </tr>

            <tr>
            <td colspan = '2'>
            <input type = 'submit' value = "Add student"/>
            </td>
            </tr>
            </table>
        </form>
        </body>
        </html>


        <!-- StudInsertController.php(Controller File) -->

        <?php
        namespace App\Http\Controllers;
        use App\StudInsert;
        use Illuminate\Http\Request;
        use \Illuminate\Http\Response;
        use Illuminate\Support\Facades\Validator;
        use Illuminate\Validation\Rule;

        class StudInsertController extends Controller
        {
            
            public function insert(){
                $urlData = getURLList();
                return view('stud_create');
            }
            public function create(Request $request){
                $rules = [
                    'first_name' => 'required|string|min:3|max:255',
                    'city_name' => 'required|string|min:3|max:255',
                    'email' => 'required|string|email|max:255'
                ];
                $validator = Validator::make($request->all(),$rules);
                if ($validator->fails()) {
                    return redirect('insert')
                    ->withInput()
                    ->withErrors($validator);
                }
                else{
                    $data = $request->input();
                    try{
                        $student = new StudInsert;
                        $student->first_name = $data['first_name'];
                        $student->last_name = $data['last_name'];
                        $student->city_name = $data['city_name'];
                        $student->email = $data['email'];
                        $student->save();
                        return redirect('insert')->with('status',"Insert successfully");
                    }
                    catch(Exception $e){
                        return redirect('insert')->with('failed',"operation failed");
                    }
                }
            }
        }
        StudInsert.php(Model File)
        <?php
        namespace App;

        use Illuminate\Database\Eloquent\Model;

        class StudInsert extends Model
        {
            protected $table = 'student_details';
            public $timestamps = true;
            /**
             * The attributes that are mass assignable.
             *
             * @var array
             */
            protected $fillable = [
                'first_name''last_name','city_name''email',
            ];
        }
        web.php
        <?php
        /*
        |--------------------------------------------------------------------------
        | Web Routes
        |--------------------------------------------------------------------------
        |
        | You visit web page and past this route code.
        |
        */
        //insert data
        Route::get('insert','StudInsertController@insertform');
        Route::post('create','StudInsertController@insert');

No comments:

Post a Comment

Thanks