Я разрабатываю приложение с помощью Laravel 5.8.В моем приложении у меня есть контроллер, который обрабатывает статьи, и это работает.Я хочу отображать информацию о себе таким образом, чтобы пользователь мог щелкнуть ссылку и просмотреть детали статьи.Для этого я создал новый контроллер a с новым пространством имен для функции, показывающей, что мое перенаправление навигации на другой странице не фокусируется на том, что он находится в пути или URL с Laravel 5.8.Ниже приведена функция.
namespace App\Http\Controllers\Cybernaut;
use App\History;
use App\Http\Controllers\Controller;
class HistoryController extends Controller
{
public function show($id)
{
$history = History::find($id);
return view('show_history', compact('history'));
}
}
На уровне домашней страницы я хотел, чтобы мои ссылки были такими:
<li><a data-hover="history" href="{{route('history.show',$history→id)}}"><span>history</span></a></li>
Ошибка
ErrorException (E_ERROR) Свойство [id] не существует в этом экземпляре коллекции.(Представление: C: \ laragon \ www \ venome \ resources \ views \ layouts \partal \ header.blade.php)
А вот маршрут, используемый для функции show.
Route::group(['namespace'=>'cybernaut'], function (){
Route::get('/history/{slug}','HistoryController@show')->name('history.show');
});
Попробуйте после изменения того, что у меня есть, на уровне маршрута.
Route::get('/', 'FrontController@index')->name('index');
Auth::routes();
Route::get('/home', 'HomeController@index')->name('home');
Route::get('/admin/dashboard', 'DashboardController@index')->name('admin.dashboard');
Route::group([], function () {
Route::get('/history', 'HistoryController@index')->name('history.index');
Route::get('/history', 'HistoryController@create')->name('history.create');
Route::get('/history/edit', 'HistoryController@update')->name('history.update');
Route::get('/history', 'HistoryController@destroy')->name('history.destroy');
});
Route::group(['namespace' => 'cybernaut'], function () {
Route::get('/history/{history}', [
'as' => 'show',
'uses' => 'HistoryController@show'
]);
});
На уровне домашней страницы я хотел разместить свою ссылку, как здесь, сейчас;
@foreach($history as $history)
<li><a data-hover="history" href="{{url('/history/'.$history->id)}}"><span>history</span></a></li>
@endforeach
У меня есть эта ошибка сейчас:
Попытка получить свойство 'id' не-объекта (Представление: C: \ laragon \ www \ venome \ resources \ views\ layouts \ absolute \ header.blade.php)
Я хочу, чтобы интернавтор мог перемещаться между страницами.