Laravel雄辩的更新功能

时间:2019-10-17 10:19:32

标签: laravel api eloquent insert-update

在模块开发中雄辩地使用Laravel。保存效果很好,但是更新功能无法按预期工作。请检查我的编码方法和错误。

use Modules\Projects\Entities\Project;
public function update(Request $request, $id)
    {
        $project = Modules\Projects\Entities\Project::find($id);
        $project->project_name = request('project_name');
        $project->save();
}

错误抛出:

{
    "message": "Class 'Modules\\Projects\\Http\\Controllers\\Modules\\Projects\\Entities\\Project' not found",
    "exception": "Symfony\\Component\\Debug\\Exception\\FatalThrowableError",
    "file": "D:\\XMAPP\\htdocs\\minidmsapi\\Modules\\Projects\\Http\\Controllers\\ProjectsController.php",
    "line": 69,
    "trace": [

如何在模块化开发中使用“ $flight = App\Flight::find(1);”? Laravel Official Doc

3 个答案:

答案 0 :(得分:1)

尝试在\之前添加Modules\Projects\Entities\Project::find($id);

\Modules\Projects\Entities\Project::find($id);

或者您可以直接使用Project::find($id);,因为您已经使用了命名空间。

答案 1 :(得分:1)

您已经导入了Modules\Projects\Entities\Project;。现在您可以直接使用Project

use Modules\Projects\Entities\Project;
public function update(Request $request, $id)
{
    $project = Project::find($id);
    $project->project_name = request('project_name');
    $project->save();
}

希望这对您有帮助...

答案 2 :(得分:1)

您不必在Project模型上使用完整的名称空间,因为您已经在顶部将其导入:

use Modules\Projects\Entities\Project;

只需使用:

$project = Project::find($id);

编辑: 要返回一些响应消息,您可以在下面在函数末尾添加如下内容:

return redirect()->back()->with('success', 'Your message');

为了在刀片中显示您的消息,请添加以下内容:

@if (session()->has('success'))
    <div class="alert alert-success">
        <p>{{session('success')}}</p>
    </div>
@endif