Laravel 5.7 增删改查说明

Laravel 5.7 CRUD explanation

你好,我是 Laravel 的新手,我希望有人能帮助我了解它的流程。虽然我确实理解了一些,但我想接受教育并确信我所理解的确实是正确的。

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

这是为了 store/insert:

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');
}

或者有没有人愿意教我?

我会尽力的,

对于商店,

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

点赞

$residents->role = 'resident';

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

之后,您对该对象调用 save 方法来存储所有数据。

更新,

在编辑中,您正在查找 现有记录并对其进行更新。所以你在那个特定的 id 上调用 find 方法。如果您使用 find 而不是 laravel 匹配 id。如果您想匹配另一列,则必须使用 where。 与商店一样,您正在将所有数据添加到对象中。

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

建议

  1. 假设您有依赖于另一个字段的记录。所以那时你可以使用 DB Transaction 你可以参考这个 Laravel DB transaction

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

  3. 使用 findOrFail, firstOrFail 来捕捉你的异常如果给定的 id 或错误直接传入 url.

  4. 在控制器中使用适当的验证,如果可能,而不是发出新请求 class 并使用该 class 来验证您的请求。为此你可以参考这个 Custom form Request

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

希望对您有所帮助:)