📜  Laravel Crud

📅  最后修改于: 2021-01-05 10:55:26             🧑  作者: Mango

Laravel Crud

在本主题中,我们将学习如何在laravel 5.8中创建laravel crud。

以下是构建Crud应用程序所需的步骤:

  • 首先,我们在laravel 5.8中创建一个名为“ crud”的项目。


上面的屏幕快照显示' crud '项目已成功创建。

  • 现在,我们在phpMyAdmin中创建数据库。

在上面的屏幕截图中,我们提供了数据库名称laravel_crud

  • 我们的应用程序将与laravel_crud数据库一起使用。编辑.env文件。

上面的屏幕截图显示我们已经修改了.env文件。我们提供的数据库名称为laravel_crudDB_Database场,根部到DB_Username。我们在密码字段留空。

  • 现在,我们创建迁移以在laravel_crud数据库中创建一个表,如以下屏幕快照所示:

上面突出显示的语句创建了一个迁移“ create_user_table ”,该表的名称为“ user”。

  • 打开在上述步骤中创建的迁移文件。
     bigIncrements('id');
      $table->string('first_name');
            $table->string('last_name');
            $table->string('gender');
            $table->string('qualifications');
            $table->timestamps();
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::dropIfExists('user');
    }
}

我们在上面的代码所示的用户表中创建了四个新列(名字,姓氏,性别,资格)。

  • 要将以上更改迁移到laravel_crud数据库中,请使用以下命令:

php artisan迁移;

迁移后,请查看以下屏幕快照中给出的数据库:

上面的屏幕显示用户表已在laravel_crud数据库下创建。

  • 现在,我们需要创建一个模型来执行数据库操作。

上面的屏幕显示' Crud '模型已成功创建。

  • 创建模型后,我们将移至创建Crud模型的app文件夹。

Crud.php

在上面的模型中,我们提供了两个属性,即$ table和$ fillable。 $ table是包含表名的属性,Crud模型将使用该表名,而$ fillable属性包含表名的数组,不能为NULL。

  • 现在,我们创建一个具有资源的控制器,该资源可以实现所有CRUD操作。

上面的屏幕快照显示CrudsController已成功创建。

CrudsController的结构如下:

CrudsController包含内置函数(index(),create(),store(),show(),edit(),update(),destroy())。

现在,我们通过CrudsController中可用的方法实现CRUD操作。

插入操作

  • 首先,我们在执行插入操作的web.php文件中创建路由。
Route::get('/insert', function () {
    return view('create');
});
  • 现在,我们在resources / views目录中创建一个名为create.blade.php的视图。
@extends('layout.master')
@section('content')
@csrf

















@endsection

以上代码的输出为:

  • 上面的代码调用了CrudsController类的store函数,并且store()函数的代码如下:
public function store(Request $request)
 
    {
  
        $request->validate([
            'first_name'=>'required',
            'last_name'=>'required',
            'gender'=>'required',
            'qualifications'=>'required'
        ]);

        $crud = new Crud;
        $crud->first_name =  $request->get('first_name');
        $crud->last_name = $request->get('last_name');
        $crud->qualifications = $request->get('qualifications');
        $crud->gender = $request->get('gender');
        $crud->save();
        }

假设我们在表单中输入一些数据,然后单击下面的屏幕快照中显示的“插入”按钮:

  • 让我们看一下数据库:

上面的屏幕截图显示了我们在表单中输入的数据已成功保存在数据库中。

检索记录

  • 首先,我们在web.php文件中创建一条路由。

路线:: get('/ show','CrudsController @ index');

上面的语句使用url' / show '创建一条路由,该路由调用CrudsController类的index()方法。

  • 上面的路由调用CrudsControllerindex函数,下面给出index()方法的代码:
public function index()
    {
        $cruds = Crud::all();

        return view('index', compact('cruds'));
    }

在上面的代码中,我们使用all()方法检索与Crud模型关联的表的所有记录,并将其存储在$ cruds对象中。我们使用view()方法将$ cruds对象传递给index.blade.php文件。

  • 下面给出了index.blade.php文件的代码:
@extends('layout.master')
@section('content')

@foreach($cruds as $crud)
        
@endforeach
ID First Name Last Name Gender Qualifications
{{$crud->id}} {{$crud->first_name}} {{$crud->last_name}} {{$crud->gender}} {{$crud->qualifications}}
@csrf @method('DELETE')
@csrf
@endsection

以上代码的输出为:

更新操作

当我们单击Edit按钮时,它将调用CrudsController类的edit()函数。下面给出了edit()方法的代码:

CrudsController.php

public function edit($id)
    {
        //
     $crud= Crud::find($id);
     return view('edit', compact('crud'));
    }

在上面的代码中,我们使用find()方法查找给定id的记录,并将其存储在$ crud对象中。我们通过污物对象到edit.blade.php文件。

edit.blade.php

@extends('layout.master')
@section('content')
@method('PATCH') @csrf


first_name}}>



last_name}}>



gender}}>



qualifications}}>


@endsection

单击“编辑”按钮后,出现如下所示的屏幕,并要求您更新数据。

在上面的屏幕中,您可以根据需要更改任何字段。假设我的名字,在姓氏特里帕西进入“Harshita”等领域保持相同,如下图所示更新按钮点击:

单击“更新”按钮后,控件将移至CrudsController.php文件的update()函数。

CrudsController.php

public function edit($id)
    {
        //
     $crud= Crud::find($id);
     return view('edit', compact('crud'));
    }

在上面的代码中,我们使用find()方法查找给定id的记录,并将其存储在$ crud对象中。我们通过污物对象到edit.blade.php文件。

edit.blade.php

public function update(Request $request, $id)
    {
        //
 $request->validate([
            'first_name'=>'required',
            'last_name'=>'required',
            'gender'=>'required',
            'qualifications'=>'required'
        ]);

        $crud = Crud::find();
        $crud->first_name =  $request->get('first_name');
        $crud->last_name = $request->get('last_name');
        $crud->qualifications = $request->get('qualifications');
        $crud->gender = $request->get('gender');
      
        $crud->save();
    }

上面的代码更新了数据库。

让我们看一下数据库:

上面的屏幕快照显示数据已成功更新。

删除操作

如果单击删除按钮,则它将调用CrudsController类的destroy()函数。下面给出了destroy()方法的代码:

public function destroy($id)
    {
        $crud=Crud::find($id);
        $crud->delete();
    }