📅  最后修改于: 2021-01-05 10:55:26             🧑  作者: Mango
在本主题中,我们将学习如何在laravel 5.8中创建laravel crud。
以下是构建Crud应用程序所需的步骤:
上面的屏幕快照显示' crud '项目已成功创建。
在上面的屏幕截图中,我们提供了数据库名称laravel_crud 。
上面的屏幕截图显示我们已经修改了.env文件。我们提供的数据库名称为laravel_crud到DB_Database场,根部到DB_Username。我们在密码字段留空。
上面突出显示的语句创建了一个迁移“ 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');
}
}
我们在上面的代码所示的用户表中创建了四个新列(名字,姓氏,性别,资格)。
php artisan迁移;
迁移后,请查看以下屏幕快照中给出的数据库:
上面的屏幕显示用户表已在laravel_crud数据库下创建。
上面的屏幕显示' Crud '模型已成功创建。
Crud.php
在上面的模型中,我们提供了两个属性,即$ table和$ fillable。 $ table是包含表名的属性,Crud模型将使用该表名,而$ fillable属性包含表名的数组,不能为NULL。
上面的屏幕快照显示CrudsController已成功创建。
CrudsController的结构如下:
CrudsController包含内置函数(index(),create(),store(),show(),edit(),update(),destroy())。
现在,我们通过CrudsController中可用的方法实现CRUD操作。
Route::get('/insert', function () {
return view('create');
});
@extends('layout.master')
@section('content')
@endsection
以上代码的输出为:
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();
}
假设我们在表单中输入一些数据,然后单击下面的屏幕快照中显示的“插入”按钮:
上面的屏幕截图显示了我们在表单中输入的数据已成功保存在数据库中。
路线:: get('/ show','CrudsController @ index');
上面的语句使用url' / show '创建一条路由,该路由调用CrudsController类的index()方法。
public function index()
{
$cruds = Crud::all();
return view('index', compact('cruds'));
}
在上面的代码中,我们使用all()方法检索与Crud模型关联的表的所有记录,并将其存储在$ cruds对象中。我们使用view()方法将$ cruds对象传递给index.blade.php文件。
@extends('layout.master')
@section('content')
ID
First Name
Last Name
Gender
Qualifications
@foreach($cruds as $crud)
{{$crud->id}}
{{$crud->first_name}}
{{$crud->last_name}}
{{$crud->gender}}
{{$crud->qualifications}}
@endforeach
@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')
@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();
}