Laravel - Показать информацию из 2 таблиц - PullRequest
0 голосов
/ 07 ноября 2018

Я создаю клиента с помощью CRUD от Laravel. Я добавляю некоторые базовые данные, такие как «Имя, день рождения, пол и т. Д.).

Теперь я использую маршрут "show" из Laravel и вижу данные, которые я сохранил в таблице базы данных (kundens).

Из этого представления я создаю PDF-файл с помощью кнопки. Все это работает для меня. Все данные взяты из моей таблицы "Kundens". Данные представления также поступают из этой таблицы. Но как я могу показать данные из более чем одной таблицы в одном «представлении»? Мне нужно добавить еще несколько данных в PDF - не только из таблицы "kundens".

Мой код для просмотра клиентом таков:

<div class="row">
            <div class="col-md-12 col-md-offset-12">
                <h4>Übersicht</h4>
                <h5>Persönliche Daten</h5>
                {{ $kunden->vorname }}<br>
                {{ $kunden->nachname }}<br>
                {{ $kunden->strasse }}<br>
                {{ $kunden->plz }}
                {{ $kunden->wohnort }}<br>

                <button class="btn btn-danger" style="color: #fff"><a style="color: #fff" href="{{asset('admin/generate_offer')}}{{ '/'.$kunden->id }}">Angebot erstellen</a></button>
                 <ul>
                @foreach($kunden['offer'] as $offer)
                    <li><a href="{{asset('admin/download_pdf')}}{{ '/'.$offer->id }}" download="">{{$offer->id}}</a> </li>
                @endforeach
            </ul>
            </div>
        </div>

Там вы видите, что я беру информацию из $ kunden - но мне нужно взять больше информации, сохраненной в другой таблице.

Кто-нибудь знает решение?

Ответы [ 2 ]

0 голосов
/ 07 ноября 2018

Итак, прежде всего, вы должны написать свою модель и контроллер, чтобы мы могли видеть ее лучше, чем то, что вы пишете, но здесь, например, вы хотите создать какую-то другую модель, чтобы показать ее здесь. Итак, вот как вы это делаете:

В вашей основной модели, модель Кунденса вы пишете так:

public function somedata() {
    return $this->hasOne('App\YOURAPP','id','Table_id'); // in case you have the name of tables as ID not the Table_id you must not the second and third argument here 
}

и в вашем контроллере вы должны написать так:

$kundens= Kundens::with('somedata')->get(); // here some data is the name of the function that u inserted in your controller

Так что вам нужно немного настроить это под свои нужды.

Надеюсь, это поможет ...

0 голосов
/ 07 ноября 2018

Судя по всему, вы генерируете файл PDF в admin / generate_offer, относящемся к controller .

Таким образом, чтобы получить больше данных, просто получите ваших данных в этом контроллере (который отвечает за генерацию PDF-файла) и просто добавьте все их независимо от того, что и сколько таблиц вы хотите получить.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...