Почему я получаю неопределенную переменную на Laravel

я получаю ошибку

Undefined Variable : map_tasik

Я хочу добавить два метода на контроллер, и метод может быть вызван в одном представлении

Код Laravel по маршруту, как показано ниже

Route::middleware('auth')->group(function() {
    Route::get('rsk_down_maps', 'rskMaps@rsk_down_maps_tasik');
    Route::get('rsk_down_maps', 'rskMaps@rsk_down_maps_banjar');
});

Код Laravel на контроллере

public function rsk_down_maps_tasik() {
        $rsk_tasik = DB::select("SELECT * FROM gmaps_geocache WHERE address LIKE '%RSK%' AND address LIKE '%tasikmalaya%'");

                $config['center'] = 'Telkom Tasikmalaya, Kota Tasikmalaya';
                $config['zoom'] = '16';
                $config['map_height'] = '500px';
                $config['geocodeCaching'] = true;
                $config['scrollwheel'] = false;                        
                GMaps::initialize($config);

                //add marker
                $marker['position'] = 'RSK Jl. Ir. H. Juanda No. 906 Tasikmalaya 906, Kota Tasikmalaya';
                $marker['infowindow_content'] = 'KFTD Tasikmalaya WIFI ID';
                $marker['icon'] = 'https://chart.googleapis.com/chart?chst=d_map_spin&chld=0.4|0|FF0000|9|b|AP';
                GMaps::add_marker($marker);

                $map_tasik = GMaps::create_map();

                return view('data.data_rsk_ap.rsk_down_maps', 
                    compact('map_tasik',
                            'rsk_tasik'));
    }

    public function rsk_down_maps_banjar() {
        $rsk_banjar = DB::select("SELECT * FROM gmaps_geocache WHERE address LIKE '%RSK%' AND address LIKE '%banjar%'");

                $config['center'] = 'Plaza Telkom Banjar, Kota Banjar';
                $config['zoom'] = '16';
                $config['map_height'] = '500px';
                $config['geocodeCaching'] = true;
                $config['scrollwheel'] = false;                        
                GMaps::initialize($config);

                // add marker
                $marker['position'] = 'RSK Kantor Dinas Pendidikan Banjar;Jl. Gerilya Pamokolan, Kota Banjar';
                $marker['infowindow_content'] = 'Kantor Dinas Pendidikan Banjar';
                $marker['icon'] = 'https://chart.googleapis.com/chart?chst=d_map_spin&chld=0.4|0|FF0000|9|b|AP';
                GMaps::add_marker($marker);

                $map_banjar = GMaps::create_map();

                return view('data.data_rsk_ap.rsk_down_maps', 
                    compact('map_banjar',
                            'rsk_banjar'));
    }

код на Просмотр как это

<div class = "active tab-pane" id = "tasikmalaya">

                    <div class = "box-body">
                        {!! $map_tasik['js'] !!}
                        {!! $map_tasik['html'] !!}
                    </div>
</div>

<div class = "tab-pane" id = "banjar">
                            <div class = "box-body">
                                {!! $map_banjar['js'] !!}
                                {!! $map_banjar['html'] !!}
                            </div>
                </div>

почему я получаю сообщение об ошибке Undefined Variable? это потому, что я использую слишком много Route в одном контроллере?

Объявление одного и того же маршрута дважды приведет к тому, что последний маршрут будет использоваться. Итак, вы вызываете только метод rsk_down_maps_banjar в своем контроллере

Derek Pollard 14.07.2018 09:39

так что я не могу добавить два метода в одно представление?

Muhammad Anwari 14.07.2018 10:29

Дерек говорит о маршруты, вы спрашиваете о Посмотреть. У вас есть два routes Route::get('rsk_down_maps') -> только ПОСЛЕДНИЙ будет выполнять метод контроллера. Вы не можете так определять маршруты и действия контроллера.

N.B. 14.07.2018 11:50
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
1
3
161
1

Ответы 1

поскольку представление может использовать переменную только в одном методе в контроллере, если вы хотите использовать две переменные в одном представлении, вы должны передать их все для просмотра, вашему контроллеру может понравиться следующее:

public function rsk_down_maps_tasik() {
    $rsk_tasik = DB::select("SELECT * FROM gmaps_geocache WHERE address LIKE '%RSK%' AND address LIKE '%tasikmalaya%'");

            $config['center'] = 'Telkom Tasikmalaya, Kota Tasikmalaya';
            $config['zoom'] = '16';
            $config['map_height'] = '500px';
            $config['geocodeCaching'] = true;
            $config['scrollwheel'] = false;                        
            GMaps::initialize($config);

            //add marker
            $marker['position'] = 'RSK Jl. Ir. H. Juanda No. 906 Tasikmalaya 906, Kota Tasikmalaya';
            $marker['infowindow_content'] = 'KFTD Tasikmalaya WIFI ID';
            $marker['icon'] = 'https://chart.googleapis.com/chart?chst=d_map_spin&chld=0.4|0|FF0000|9|b|AP';
            GMaps::add_marker($marker);

            $map_banjar = GMaps::create_map();
            $rsk_tasik = GMaps::create_map();

            return view('data.data_rsk_ap.rsk_down_maps', 
                compact('map_tasik',
                        'rsk_tasik'));
}

public function rsk_down_maps_banjar() {
    $rsk_banjar = DB::select("SELECT * FROM gmaps_geocache WHERE address LIKE '%RSK%' AND address LIKE '%banjar%'");

            $config['center'] = 'Plaza Telkom Banjar, Kota Banjar';
            $config['zoom'] = '16';
            $config['map_height'] = '500px';
            $config['geocodeCaching'] = true;
            $config['scrollwheel'] = false;                        
            GMaps::initialize($config);

            // add marker
            $marker['position'] = 'RSK Kantor Dinas Pendidikan Banjar;Jl. Gerilya Pamokolan, Kota Banjar';
            $marker['infowindow_content'] = 'Kantor Dinas Pendidikan Banjar';
            $marker['icon'] = 'https://chart.googleapis.com/chart?chst=d_map_spin&chld=0.4|0|FF0000|9|b|AP';
            GMaps::add_marker($marker);

            $map_banjar = GMaps::create_map();
            $rsk_banjar = GMaps::create_map();

            return view('data.data_rsk_ap.rsk_down_maps', 
                compact('map_banjar',
                        'rsk_banjar'));
}

все еще получаю ошибку

Muhammad Anwari 14.07.2018 10:33

возможно, ошибка имени переменной, я исправлю ее, вы можете попробовать еще раз, если ошибка все еще существует, вы можете разместить здесь сообщение об ошибке.

suxiaolin 14.07.2018 10:38

Другие вопросы по теме