Попытка получить данные идентификатора другой страницы с Laravel - PullRequest
0 голосов
/ 18 октября 2018

Быстрое объяснение: получение данных из БД с помощью панели поиска.Итак, пара данных извлекается благодаря поиску.И после поиска я также хочу отобразить все данные на одной странице по их идентификатору.Например, в html-таблице извлекается множество данных об объектах, таких как: Estate_Name, Estate_Address и т. Д. Я хочу поместить estate_name в ссылку, чтобы перейти на другую страницу, которая просто извлекает данные этого идентификатора.

Я обновил проблему новыми кодами и теперь получаю эту ошибку:

Пытается получить свойство необъекта (View: / var / www / html / laravel / resources/views/show.blade.php)

Это контроллер:

    public function show($id)
    {

       $estates = allestates::findOrFail($id);
       return view('show')->with(['estates' => $estates]);

    }

и это мой маршрут:

Route::get('/show/{id}', 'PagesController@show');

и это основной.blade;

@foreach($estates as $estate)
    <tr class="even">
        <td>{{$estate->id}}</td>
        <td>{{str_limit($estate->company_name, $limit = 20)}}</td>
        <td><a href="/show/{{$estate->id}}">{{str_limit($estate->building_name, $limit = 20)}}</a></td>
        <td>{{str_limit($estate->address, $limit = 22)}}</td>

        <td>{{str_limit($estate->price, $limit = 20)}}</td>
        <td class="price-hidden">{{$estate->old_price}}</td>

        <td>{{str_limit($estate->extend, $limit = 20)}}</td>
        <td>{{str_limit($estate->rooms, $limit = 20)}}</td>
        <td>{{str_limit($estate->entry, $limit = 20)}}</td>
    </tr>
@endforeach

и это show.blade:

@foreach($estates as $estate)
    <tr class="even">
        <td>{{$estate->id}}</td>
        <td>{{str_limit($estate->company_name, $limit = 20)}}</td>
        <td>{{str_limit($estate->building_name, $limit = 20)}}</td>
        <td>{{str_limit($estate->address, $limit = 22)}}</td>

        <td>{{str_limit($estate->price, $limit = 20)}}</td>
        <td class="price-hidden">{{$estate->old_price}}</td>

        <td>{{str_limit($estate->extend, $limit = 20)}}</td>
        <td>{{str_limit($estate->rooms, $limit = 20)}}</td>
        <td>{{str_limit($estate->entry, $limit = 20)}}</td>
    </tr>
@endforeach

что я тут не так делаю?Любая идея?Спасибо!А также у меня есть блейд-шоу, которое я хочу просто отобразить данные одного идентификатора после клика

1 Ответ

0 голосов
/ 19 октября 2018

Вы должны изменить это следующим образом:

public function show($id)
{

    $estates = allestates::where('id', $id)->first();
    if($estates){
        return view('pages.show', ['estates' => $estates]);
    }else{
        return 'no records found';
    }
}

и маршрут:

Route::get('pages/{id}', 'PagesController@show');

И

<td><a href="/pages/{{$estate->id}}">{{str_limit($estate->building_name, $limit = 20)}}</a></td>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...