Laravel 5.7 CRUD说明

时间:2019-04-19 01:04:25

标签: insert crud store edit laravel-5.7

你好,我绝对不是Laravel的新手,我希望有人能帮助我启发其发展。尽管我确实了解其中的一些内容,但是我想受到教育,并确保我所了解的内容是正确的。

所以,我想去了解基础知识。有人可以通过存储和编辑逐行教育我吗?

这是用于存储/插入:

public function store(Request $request)
{

    $residents = new Resident;
    $residents->resident_fname = $request->input('resident_fname');
    $residents->resident_lname = $request->input('resident_lname');
    $residents->resident_mi = $request->input('resident_mi');
    $residents->resident_email = $request->input('resident_email');
    $residents->resident_age = $request->input('resident_age');
    $residents->resident_dob = $request->input('resident_dob');
    $residents->role = 'resident';
    $residents->resident_address = $request->input('resident_address');
    $residents->resident_contact = $request->input('resident_contact');
    $residents->resident_gender = $request->input('resident_gender');
    $residents->ResidentVoter_status = $request->input('ResidentVoter_status');
    $residents->resident_status = $request->input('resident_status');
    $residents->resident_religion = $request->input('resident_religion');
    $residents->resident_purok = $request->input('resident_purok');
    $residents->save();

    return redirect('/residents')->with('success', 'Successfully Added!');
}

这是更新:

public function update(Request $request, $id)
{
    $residents = Resident::find($id);
    $residents->resident_fname = $request->input('resident_fname');
    $residents->resident_lname = $request->input('resident_lname');
    $residents->resident_mi = $request->input('resident_mi');
    $residents->resident_age = $request->input('resident_age');
    $residents->resident_dob = $request->input('resident_dob');
    $residents->resident_email = $request->input('resident_email');
    $residents->resident_address = $request->input('resident_address');
    $residents->resident_contact = $request->input('resident_contact');
    $residents->resident_gender = $request->input('resident_gender');
    $residents->ResidentVoter_status = $request->input('ResidentVoter_status');
    $residents->resident_status = $request->input('resident_status');
    $residents->resident_religion = $request->input('resident_religion');
    $residents->resident_purok = $request->input('resident_purok');
    $residents->Save();

    return redirect('/residents');
}

还是有人愿意教育我?

1 个答案:

答案 0 :(得分:0)

我会为此而竭尽全力,

对于商店

对于商店,您必须创建该模型的新对象,因为您要插入新记录,然后每行的左侧表示必须在该特定模型上插入该字段。

像这里

$residents->role = 'resident';

在这里您要在数据库的角色字段中插入常驻值,并且对所有对象都一样。 每行右侧表示您请求提交的输入。

之后,您在此对象上调用save方法以存储所有数据。

对于更新

在编辑中,您正在查找现有记录并对其进行更新。因此您可以在特定的find上调用id方法。如果您使用find,则laravel与id匹配。如果要匹配另一列,则不必使用where。 和存储一样,您正在对象中添加所有数据。

然后,您将使用update更新该记录。

建议

  1. 假设您有依赖于另一个字段的记录。因此,那时您可以使用DB Transaction来引用它 Laravel DB transaction

  2. 您应该使用try-catch来正确处理异常。

  3. 如果直接在网址中传递给定的ID或错误,请使用findOrFailfirstOrFail捕获您的异常。

  4. 在控制器中使用适当的验证,并在可能的情况下使用新的请求类并使用该类来验证您的请求。为此,您可以参考此Custom form Request

  5. 使用正确的命名约定。

希望获得帮助:)