Laravel 5.7 CRUD解释

问题描述 投票:0回答:1

你好,我对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');
}

还是有人愿意教育我?

insert crud store edit laravel-5.7
1个回答
0
投票

我会尽我所能,

太大了,

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

像这儿

$residents->role = 'resident';

在这里,您希望在数据库的角色字段中插入驻留值,并像所有人一样。每行的右侧表示您请求提交的输入。

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

如需更新,

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

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

suggetion

  1. 假设您有依赖于另一个字段的记录。所以在那个时候你可以使用DB Transaction,你可以参考这个Laravel DB transaction
  2. 您应该使用try-catch正确处理异常。
  3. 如果直接在url中传递给定的id或者错误,请使用findOrFailfirstOrFail来捕获您的异常。
  4. 在控制器中使用适当的验证,如果可能,请创建新的请求类并使用该类验证您的请求。为此你可以参考这个Custom form Request
  5. 使用适当的命名约定。

希望这有帮助:)

© www.soinside.com 2019 - 2024. All rights reserved.