@1programmer

Как правильно организовать вывод данных во view laravel?

Привет всем.
Есть 2 кнопки и роуты для них.
1) /add-code
2) /add-item
После нажатия на первую кнопку, возвращаюсь на страницу /root
После нажатия на вторую кнопку, тоже возвращаюсь на страницу /root
На странице /root есть 2 стандартных таба bootstrap, в первом во view выводится переменная {{ $msg }}
return view('root')->with(['msg' => '10 кодов добавлено в базу']);

После нажатия на 2 кнопку я соответственно получил сообщение об ошибке
Undefined variable: msg
т.к мне нужно возвращать тоже вот так
return view('root')->with(['msg' => '10 кодов добавлено в базу']);
Но ко второй кнопке не относится вообще эта переменная, получается какой то говнокод.
В ларавел только учусь, можете объяснить как лучше сделать ?

Весь код
<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

use App\Codes;
use App\Item;
class RootHomeController extends Controller
{
    /**
     * Create a new controller instance.
     *
     * @return void
     */
    public function __construct()
    {
        $this->middleware('auth:root');
    }

    /**
     * Show the application dashboard.
     *
     * @return \Illuminate\Http\Response
     */
      
   

    public function addCode(Request $request)
    {
        


        if($request->isMethod('post')) {

            $arrayName = array();
            $i = 0;
               while ($i < 1) {
                  $chars="qazxswedcvfrtgbnhyujmkiolp1234567890QAZXSWEDCVFRTGBNHYUJMKIOLP"; 
                    $max=10; 
                    $size=StrLen($chars)-1; 
                    $password=null; 
                    while($max--) 
                    $password.=$chars[rand(0,$size)]; 
                    $arrayName[$i] = $password;

                        //Добавляем данные в бд

                    Codes::insert(['code' => $arrayName[$i]]);
                    $i++;


               }
               
                   

            return view('root')->with(['msg' => '10 кодов добавлено в базу']);
        }
    }

    public function addItem(Request $request)
    {
        if ($request->isMethod('POST')){
            Item::create([
                'name' => $request->name,
                'description' => $request->desc,
            ]);
               return view('root'); // здесь ошибка
            //нужно потому что вот типа того - > return view('root')->with(['msg' => '10 кодов добавлено в базу']);
        }
    }
public function index()
    {
        // $add = addCode();
        return view('root')->with(['msg' => 'После нажатия кнопки, будет добавлено 10 кодов']);
    }
}
  • Вопрос задан
  • 340 просмотров
Решения вопроса 1
@Yan-s
На странице /root есть 2 стандартных таба bootstrap, в первом во view выводится переменная {{ $msg }}

Добавьте условие в этой вьюхе, проверку существование перемененной $msg и выводите ее только если она существует.

Типа:
@if(isset($msg ))
{{ $msg }}
@endif
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы