У меня возникли проблемы с приложением при попытке создания профилей пользователей. Вот вопрос:
Я пытаюсь создать представление с именем userprofile.blade.php, которое будет выводить любой профиль пользователя (на основе идентификатора или имени пользователя ... сейчас это не имеет значения). На каждой странице профиля будут отображаться имя, описание, местоположение, профиль и сообщения пользователя. Я использовал команду Make: auth Laravel для создания необходимой аутентификации, настроил формы аутентификации, а затем перенес все столбцы, которые мне нужны, в моей базе данных.
Мои методы создания и обновления работают очень хорошо (регистрация новых пользователей и обновление их информации). Вся информация правильно сохраняется в базе данных. Однако я могу получить к нему доступ только в своих представлениях с помощью {{Auth :: user () ->}}. Всякий раз, когда я пытаюсь использовать модель в моем контроллере для доступа к нужным мне данным, это не работает. Мне кажется, что мне нужно отделить стандартную модель «Пользователь» Laravel от пользовательской модели, которую я бы назвал «Аккаунт» или что-то в этом роде.
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use App\User;
use App\Recipe;
class UserController extends Controller
{
/**
* Create a new controller instance.
*
* @return void
*/
public function __construct()
{
$this->middleware('auth', ['except' => [
'index', 'show'
]]);
}
public function index(){
$user = User::find($id);
return view('user.userprofile')->with('user');
}
Я включил только метод индекса из моего UserController, чтобы упростить его. Он ломается и сообщает мне, что 'id' в $ user = User :: find ($ id); является неопределенной переменной Это говорит мне, что он не обращается к моей таблице базы данных.
Мой вопрос заключается в том, должен ли я создать новую свежую модель, не смешанную с аутентификацией, для обработки всей информации профиля пользователя? Если да, то как мне получить доступ к моей текущей таблице базы данных «пользователи» из этой новой модели?
Пожалуйста, дайте мне знать, если мне нужно кое-что прояснить для вас, ребята. Я не очень опытный, и я понимаю, если мой вопрос нечеткий. Большое спасибо за ваше время!! Я действительно ценю любую помощь, которую я могу получить!