Показывать конференции при нажатии "Страна" не работает должным образом - PullRequest
0 голосов
/ 22 мая 2018

У меня есть модал, в котором есть несколько городов.Если пользователь щелкает по городу, в div #conferences отображаются конференции, которые в столбце «город» щелкнули по городу.Это работает нормально.

Я сомневаюсь, как, если пользователь нажимает в Страна, а не в городе, как получить все конференции, независимо от города, потому что, если пользователь нажимает в Стране, результаты могут бытьлюбого города.

Знаете ли вы, как этого добиться?

При значении атрибута типа "" "<a value="">Country</a>" при нажатии кнопки "Страна" в консоли отображается: "{message: "", "exception: "Symfony\Component\HttpKernel\Exception\NotFoundHttpException",…}" in file "/Illuminate/Routing/RouteCollection.php".

Метод ConferenceController для получения конференций выбранного города:

  public function getConferencesOfCity($slug)
    {

        $conferences = Conference::whereCity($slug)->get();


        return response()->json($conferences);
    }

Модал, в котором отображаются ссылки на города:

<div class="modal-body">
    <div class="container">
        <ul class="modal-list row">
            <li class="col-lg-4 col-md-6 col-sm-12">
                <a  class=""  name="" id="" value="">Country</a>
            </li>
            @foreach($cities as $city)
                <li class="col-lg-4 col-md-6 col-sm-12">
                    <a  class=""  name="city" id="{{$city}}">{{$city}}</a>
                </li>
            @endforeach
        </ul>
    </div>
</div>

Маршрут:

Route::get('conferences/where/city/{slug}','ConferenceController@getConferencesOfCity')->name('city.conferences');

jQuery AJAX-запрос:

$("a[name='city']").on('click', function(){

    $('#showCities').html($(this).text());
    var city = $(this).attr("id");

    $.ajax({
        url: '{{ route('city.conferences',null) }}/' + city,
        type: 'GET',
        success:function(result){
            console.log(result)

            $('#conferences').empty();
            var newConferences='';
            var placeholder = "{{route('conferences.show', ['id' => '1', 'slug' => 'demo-slug'])}}";
            $.each(result, function(index, conference) {
                $('#modal2').modal('hide');
                var url = placeholder.replace(1, conference.id).replace('demo-slug', conference.slug);

                newConferences += '<div class="col-12 col-sm-6 col-lg-4 col-xl-3 mb-4">\n' +
   ' <h5 class="card-title">'+conference.name+'</h5>\n' +
      <p class="card-text font-size-sm">'+conference.city+'</p>\n' +
                '                    </div>\n';
            });
            $('#conferences').html(newConferences);
        },
        error: function(error) {
            console.log(error.status)
        }
    });
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...