Laravel withErrors 5.4.36 пуст в поле зрения - PullRequest
0 голосов
/ 25 сентября 2018

Странная проблема здесь!Мой код возврата в контроллере выглядит следующим образом:

return back()->withErrors([ 'not_updated' => 'Unable to update record or no changes made' ]);

И затем я отображаю ошибки в блейде:

@if ($errors->any())
    <article class="message is-danger">
        <div class="message-body">
            <ul>
                @foreach ($errors->all() as $error)
                    <li>{!! $error !!}</li>
                @endforeach
            </ul>
        </div>
    </article>
@endif

Однако это, похоже, не работает вообще, *По какой-то причине 1007 * пусто, однако это отлично работает с другого контроллера!

Это метод, в котором это работает, я включил классы use .

namespace App\Http\Controllers;

use App\Pages;
use App\PlannerStatus;
use App\SubPages;
use App\VehicleMake;
use App\Website;
use App\WebsiteRedirects;
use Illuminate\Http\Request;
use Redirect;

class RedirectsController extends Controller
{

    public function store(Request $request, Website $website)
    {

        $error = [ 'test' => 'test error' ];

        if (!empty($error)) {
            return back()->withErrors($error)->withInput();
        }


        return back();

    }
}

И это контроллер, на котором это работает НЕ , так как вы можете видеть, что они одинаковые, более или менее!

namespace App\Http\Controllers;

use App\ResultsText;
use App\VehicleMake;
use App\VehicleModel;
use App\VehicleType;
use App\SearchPath;
use App\Website;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Cache;
use Illuminate\Support\MessageBag;
use Redirect;

class ResultsTextController extends Controller
{

    public function update(Website $website, ResultsText $resultsText, Request $request)
    {

        $data = request()->except(['_token','id']);

        $result = ResultsText::where('id', $resultsText->id)->update($data);

        if (!$result) {
            return back()->withErrors([ 'not_updated' => 'Unable to update record or no changes made' ]);
        }

        return Redirect::action('ResultsTextController@index', $website);

    }


}

Также здесьмои маршруты , так что вы можете видеть, что они в значительной степени идентичны:

Route::prefix('/redirects')->group(function () {
    Route::get('/', 'RedirectsController@index')->middleware('SettingStatus:redirect');
    Route::patch('/update', 'RedirectsController@update');
});

Route::prefix('/results-text')->group(function () {
    Route::post('{resultsText}/update', 'ResultsTextController@update');
});

Ответы [ 2 ]

0 голосов
/ 25 сентября 2018

Это легко упускается из виду в вашем вопросе.Проблема не в том, что кажется.Возможно, вам покажется смешным, почему это не работает.

Заменить

return back()->withErrors([ 'not_updated' => 'Unable to update record or no changes made' ]);

на

return redirect()->back()->withErrors([ 'not_updated' => 'Unable to update record or no changes made' ]);
0 голосов
/ 25 сентября 2018

Внутри своего клинка попробуйте это

@if ($errors->any())
<article class="message is-danger">
    <div class="message-body">
        <ul>
            @foreach ($errors as $error)
                <li>{{ $error }}</li>
            @endforeach
        </ul>
    </div>
</article>
@endif
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...