Я пошагово пошагово расскажу о вещах, которые вы должны реорганизовать.
Прежде всего вы должны переименовать свой маршрут.Метод имени должен быть примерно таким:
Route::get('user/alamat/{id}','UserTransaksiController@index')->name('user.alamat');
Затем вы можете ссылаться на свой маршрут из любого места в вашем приложении, используя то же имя в вашем примере, оно должно быть таким (обратите внимание, как вызывать параметры):
<a href="{{ route('user.alamat', ['id' => auth()->user()->id]) }}" ></a>
На этом этапе ошибка должна быть устранена, если вы хотите улучшить свой код, вы можете прочитать далее.
Возвращаясь к вашему маршруту Для меня нет смысла иметь alamat на ваших маршрутах и Transaksi на вашем контроллере.В зависимости от информации, которую вы собираетесь получить, они должны быть согласованными, чтобы сделать код читабельным.Допустим, вы получаете Transaksi , который, как я видел, переводится как Deal , поэтому у вас должно получиться что-то вроде этого.
Route::get('users/{id}/transaksis','UserTransaksiController@index')->name('user.transaksi.index');
Обратите внимание, что я немного изменил маршрутБольше.Route::get('user/{id}/transaksis'....
этот раздел читается так, как будто вы хотите получить что-то, связанное с пользователями, затем идентификатор этого конкретного пользователя, а затем другую связанную модель.Используя этот же принцип, имя должно быть ...->name('user.transaksi.index')
Я использовал index для имени, потому что у вас не может быть больше методов на одном контроллере, а имена маршрутизации также должны быть согласованы для удобства чтения.
Наконец вы можете перейти к RouteServiceProvider
и добавить в него способ загрузки.Route::model('user', User::class);
с этим вы можете изменить свой маршрут так:
Route::get('users/{user}/transaksis','UserTransaksiController@index')->name('user.transaksis.index');
Это называется привязкой модели маршрута и позволяет вам получить всю модель в вашем контроллере следующим образом:
public function index(User $user)
{
//user should have the entire user model instance
//if you have relations defined you can do this
$user->transaksis;
//the rest of your code to return goes here
}
Я сделал все это в качестве примера, учитывая, что пользователь может быть любой другой моделью.Если вы хотите упростить его для своего конкретного случая, вы можете получить идентификатор пользователя из контроллера, не передавая его в качестве параметра, подобного этому:
public function index(Request $request)
{
//Option 1 using the user from the request (you do not need to pass the request from the route, it is filled automatically by LAravel
$request->user()->transaksis;
//Option 2 using the auth helper
auth()->user()->transaksis;
//There are a lot of options to get the user
//the rest of your code to return goes here
}