Я работаю над проектом по изучению Laravel.
Итак, я создаю базу данных с пользователями. Каждый пользователь получил профиль с такой информацией, как: город, страна и т. Д.
Я создаю таблицу с именем «анкеты», где у меня есть следующие столбцы: id / user_id / country / city.
Мой файл маршрутов выглядит так:
Route::get('editProfile', 'ProfileController@editProfileForm');
Мой ProfileController выглядит так:
public function editProfileForm() {
return view('profile.editProfile')->with('data', Auth::user()->profile);
}
И когда я называю вид как: {{ $data }}
в editProfile.blade он должен вернуть проверять подлинность пользовательские данные из базы данных, а также мне нужна таблица строк «профили», где мой user_id соответствует идентификатору таблицы «пользователи».
Проблема в том, что мое представление возвращает пустую строку, а не то, что я ожидаю от базы данных.
Почему пользователи и профили — это две отдельные таблицы?
Я решаю это.
Вот как я это делаю:
В ProfileController я сделал следующую функцию:
public function editProfileForm() {
$userData = DB::table('users')
->leftJoin('profiles', 'profiles.user_id','users.id')
->where('users.id',Auth::user()->id)
->get();
return view('profile.editProfile')->with('userData', $userData);
}
И вот как я получил информацию из базы данных в $ userData var. И я могу отображать на входах мои данные, такие как {{$ userData-> city}} в качестве примера.
Спасибо всем !