Функция обновления Laravel eloquent - PullRequest
0 голосов
/ 17 октября 2019

Использование Laravel eloquent в модульной разработке. Сохранить работает хорошо, но функция обновления не работает, как я ожидал. Пожалуйста, проверьте мой метод кодирования и ошибку.

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

Ответы [ 3 ]

1 голос
/ 17 октября 2019

Вы уже импортировали 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();
}

Надеюсь, это поможет ...

1 голос
/ 17 октября 2019

Вам не нужно использовать полное пространство имен на модели 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
1 голос
/ 17 октября 2019

попробуйте добавить \ до Modules\Projects\Entities\Project::find($id);.

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

или вы можете напрямую использовать Project::find($id);, поскольку вы уже использовали пространство имен.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...