Выберите Содержимое базы данных и покажите в виде в Laravel. - PullRequest
0 голосов
/ 11 сентября 2018

Я хочу показать свою 'angebote'

это мой контроллер:

public function showangebot($firma)
{
    $dataangebot['angebotDetails'] = Angebot::where('firma',$firma)->first();
    return view('user/einzelansicht',$dataangebot);
}

и это мое мнение:

<div class="card">
            <div class="card-header" id="headingOne">
                <h5 class="mb-0">
                    <button class="btn btn-link" type="button" data-toggle="collapse" data-target="#collapseOne" aria-expanded="true" aria-controls="collapseOne">
                        {{$angebotDetails->stellenname}}
                    </button>
                </h5>
            </div>

это работает, так что показывает мне первый объект но я хочу показать все, поэтому я удаляю '-> first ()' в моем контроллере и использовать foreach на мой взгляд так вот так:

@foreach($angebotDetails as $angebotDetail)

это говорит мне об этой ошибке:

"Undefined property: Illuminate\Database\Eloquent\Builder::$firma (View: C:\wamp\sites\j4ylara\resources\views\user\einzelansicht.blade.php)"

Я не знаю, в чем проблема, потому что я использую это все время, и все работает, но не сейчас

если я использую -> get () вместо -> first () или если я использую это

$dataangebot['angebotDetails'] = DB::table('angebots')
    ->where('firma',$firma)
    ->get();

это говорит мне это:

Property [firma] does not exist on this collection instance. (View: C:\wamp\sites\j4ylara\resources\views\user\einzelansicht.blade.php)

Ответы [ 2 ]

0 голосов
/ 11 сентября 2018

Это самый простой способ.

public function showangebot($firma)
{
    $angebots = Angebot::where('firma',$firma)->get();
    return view('user/einzelansicht',compact('angebots'));
}

А затем в вашем файле просмотра вызовите вашу переменную.

@foreach ($angebots as $angebot)
<div class="card">
            <div class="card-header" id="headingOne">
                <h5 class="mb-0">
                    <button class="btn btn-link" type="button" data-toggle="collapse" data-target="#collapseOne" aria-expanded="true" aria-controls="collapseOne">
                        {{$angebot->stellenname}}
                    </button>
                </h5>
            </div>

@endforeach
0 голосов
/ 11 сентября 2018

Вы должны использовать get вместо first в вашем контроллере. Функция get извлекает коллекцию, которую вы должны передать и просмотреть в своем представлении.

public function showangebot($firma)
{
   $dataangebot['angebotDetails'] = Angebot::where('firma',$firma)->get();
   return view('user/einzelansicht',$dataangebot);
}

Применительно к:

Property [firma] does not exist on this collection instance. (View: C:\wamp\sites\j4ylara\resources\views\user\einzelansicht.blade.php)

вы, скорее всего, имеете в виду firma вне цикла @ foreach . Вот что вы должны попробовать

@foreach($angebotDetails as $angebotDetail)
    {{ $angebotDetail->firma }}
@endforeach
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...