Получение данных из базы данных и отображение их в оповещении - PullRequest
0 голосов
/ 12 февраля 2019

Я новичок в laravel и хочу получить данные из базы данных и показать их в Alert, используя ajax

Мой маршрут:

Route::get('getforajax/{id}','Home@getforajax');

Мой контроллер:

    public function getforajax ($id)
{
    $result=DB::select('select * from employees where empid =?',[$id]);
    return $result;
}

my View:

            $('#empid1').keyup(function() {
            $.ajax({
                url: 'getforajax/3',
                type: 'GET',
                data: data,
                dataType: 'json',
                success: function (data) {
                    alert(data.empid);
                }
            });
        });

Ответы [ 2 ]

0 голосов
/ 12 февраля 2019

Вы должны попробовать это:

use App\Employee; //employee table's model

public function getforajax ($id)
{
    $result=Employee::find($id);
    return $result;
}
0 голосов
/ 12 февраля 2019

Вы можете вернуть JSON из контроллера.

return response()->json($result, 200);

Однако результатом будет массив всех результирующих строк из запроса.Поэтому, даже если вы ожидаете одного результата запроса, он все равно предоставит массиву одной записи.

[
  [
    id => something,
    name => something
  ]
]

Кроме того, вы можете улучшить его следующим образом:

InВаш javacript, который вам нужно сделать:

data[0].empId

Однако вам необходимо убедиться, что данные там есть.Используйте красноречивые модели для загрузки записи с Id:

$result = Employee::findOrFail($employeeid);

И тогда вы непосредственно делаете:

alert(data.empid);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...