Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 07.04.2016 18:39:13

Нету переменой

Помогите плиз не могу найти ошибку вот код Модели
Menus.php

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class Menus extends Model
{
    //
}

Вот код Контролера
MenuController.php

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

use App\Http\Requests;

class MenuController extends Controller
{
    public function showMenu()
    {
        $menu = Menus::all();

        return view('catalog/menu', ['menus' => $menu]);
    }
}

Код вида
menu.php

<ul class="nav navbar-nav">
                <?php foreach($menus as $item):?>
                <li><a href="<?=$item->slug;?>"><?=$item->title;?></a></li>
                <?php endforeach; ?>
                <li><a href="#">Допомога</a></li>
            </ul>

А вот самое интересное ошибка
ErrorException in menu.php line 17: Undefined variable: menus

Не в сети

#2 07.04.2016 18:44:10

WebDev

Re: Нету переменой

sylar9 пишет:

Помогите плиз не могу найти ошибку вот код Модели
Menus.php

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class Menus extends Model
{
    //
}

Вот код Контролера
MenuController.php

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

use App\Http\Requests;

class MenuController extends Controller
{
    public function showMenu()
    {
        $menu = Menus::all();

        return view('catalog/menu', ['menus' => $menu]);
    }
}

Код вида
menu.php

<ul class="nav navbar-nav">
                <?php foreach($menus as $item):?>
                <li><a href="<?=$item->slug;?>"><?=$item->title;?></a></li>
                <?php endforeach; ?>
                <li><a href="#">Допомога</a></li>
            </ul>

А вот самое интересное ошибка
ErrorException in menu.php line 17: Undefined variable: menus

Рекомендую писать кратко:

        $menus = Menus::all();
        return view('catalog.menu', compact('menus'));

У вас какой то кастомный шаблонизатор ? Почему файл menu.php , а не menu.blade.php и не теги шаблонизатора?

#3 07.04.2016 22:45:30

Re: Нету переменой

WebDev пишет:
sylar9 пишет:

Помогите плиз не могу найти ошибку вот код Модели
Menus.php

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class Menus extends Model
{
    //
}

Вот код Контролера
MenuController.php

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

use App\Http\Requests;

class MenuController extends Controller
{
    public function showMenu()
    {
        $menu = Menus::all();

        return view('catalog/menu', ['menus' => $menu]);
    }
}

Код вида
menu.php

<ul class="nav navbar-nav">
                <?php foreach($menus as $item):?>
                <li><a href="<?=$item->slug;?>"><?=$item->title;?></a></li>
                <?php endforeach; ?>
                <li><a href="#">Допомога</a></li>
            </ul>

А вот самое интересное ошибка
ErrorException in menu.php line 17: Undefined variable: menus

Рекомендую писать кратко:

        $menus = Menus::all();
        return view('catalog.menu', compact('menus'));

У вас какой то кастомный шаблонизатор ? Почему файл menu.php , а не menu.blade.php и не теги шаблонизатора?

а обязательно использовать шаблон blade ? а какие его преимущество ?

Не в сети

#4 08.04.2016 08:10:03

WebDev

Re: Нету переменой

sylar9 пишет:
WebDev пишет:
sylar9 пишет:

Помогите плиз не могу найти ошибку вот код Модели
Menus.php

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class Menus extends Model
{
    //
}

Вот код Контролера
MenuController.php

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

use App\Http\Requests;

class MenuController extends Controller
{
    public function showMenu()
    {
        $menu = Menus::all();

        return view('catalog/menu', ['menus' => $menu]);
    }
}

Код вида
menu.php

<ul class="nav navbar-nav">
                <?php foreach($menus as $item):?>
                <li><a href="<?=$item->slug;?>"><?=$item->title;?></a></li>
                <?php endforeach; ?>
                <li><a href="#">Допомога</a></li>
            </ul>

А вот самое интересное ошибка
ErrorException in menu.php line 17: Undefined variable: menus

Рекомендую писать кратко:

        $menus = Menus::all();
        return view('catalog.menu', compact('menus'));

У вас какой то кастомный шаблонизатор ? Почему файл menu.php , а не menu.blade.php и не теги шаблонизатора?

а обязательно использовать шаблон blade ? а какие его преимущество ?

Шаблонизатор blade использовать не обязательно. Можно любой другой или отключить его, правда как не подскажу, сам только его использую. Очень ускоряет и упрощает код.
Вместо <?php foreach($menus as $item):?> пишете @foreach($menus as $item)
<?=$item->title;?> пишете как {{ $item->title }}
И много других тегов есть, плюс можно создавать свои теги в шаблонизатор с любым функционалом. Почитайте на офф сайте лучше подробнее

Подвал раздела