Как правильно получить поле «город» из таблицы «Клиенты» в запросе laravel? - PullRequest
0 голосов
/ 20 марта 2020
public function FindDomainDependCityClient(Request $request) {
         $city = Client::select('city')
              ->where('clients.id', '=', $request->id)
              ->get();

запрос выше не дает никакого результата, в противном случае, если я заменю ($ request-> id) на 'casablanca' (город) в mysql phpMyAdmin, я получу результат

    $data = Domaine::select('id_domain', 'nom_domain')
            ->where('Domaines.city', $city)
            ->get();

    return response()->json($data);

Я использую Jquery & Ajax для получения данных

$(document).on('change', '#id', function() {
    var id = $(this).val();

    $.ajax({
        type: 'get',
        url: '{!! URL::to('/finddomaindependcityclient') !!}',
        data: {'id': id},
        success: function(data) {
            console.log('success !!');
            console.log(data);
            console.log(data.length);

            var fillDropDown = '<option selected disabled>Sélectionner le domaine</option>';
            for (var i = 0; i < data.length; i++) {
                fillDropDown += '<option value="'+ data[i].id_domain + '">' + data[i].nom_domain + '</option>';
            }
            $('#id_dom').html(""); //clear input values
            $('#id_dom').append(fillDropDown);
        },
        error: function(msg) {
            console.log('error getting data !!');
        }
    });
});

1 Ответ

0 голосов
/ 20 марта 2020

вам нужно получить название города от Client модели. так как вы используете get(), это дает вам коллекцию, и ваш следующий запрос не работает. Сделайте это как

$city = Client::find($request->id)->city;

и получите домены, связанные с городом

$data = Domaine::select('id_domain', 'nom_domain')
            ->where('city', $city)
            ->get();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...