在模块开发中雄辩地使用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
答案 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