在laravel中如何在单个视图中显示来自两个不同模型的值

问题描述 投票:0回答:1

我创建了单个视图文件,并且我有多个模型,我将在视图中显示多个模型的值

我想使用“学生模型”显示学生详细信息,以及使用“中心模型”显示中心代码]]

我尝试过,但显示错误

属性[center_code]在此集合实例上不存在。 (查看:C:\ center.swasthikindia.com \ resources \ views \ Center \ registretion_form_hardcopy.blade.ph

我的第一模范生

<?php

namespace App;
use Illuminate\Notifications\Notifiable;
use Illuminate\Contracts\Auth\MustVerifyEmail;
use Illuminate\Foundation\Auth\User as Authenticatable;
use Illuminate\Database\Eloquent\Model;

class Student extends Model
{
    protected $table = 'student_lists';


    protected $fillable = ['student_name', 'student_registration_id', 'date_of_join', 'student_phone_no',];


}

我的第二名模范生

<?php

namespace App;
use Illuminate\Notifications\Notifiable;
use Illuminate\Contracts\Auth\MustVerifyEmail;
use Illuminate\Foundation\Auth\User as Authenticatable;
use Illuminate\Database\Eloquent\Model;

class Center extends Model
{
    protected $table = 'centers';
    protected $fillable = ['center_code','center_name'];

}

}

我的路线

 Route::get('registretion_form_hardcopy{id}', 'StudentController@registretion_form_hardcopy');

我的控制器

        public function registretion_form_hardcopy($id)
{
  $hardcopy = Student::where('delete_status','NOT DELETED')->where('center_accepting_online_application','ACCEPTED')->where('center_approved','APPROVED')->where('center_code','=',Auth::user()->center_code)->find($id);

  $center_details_hardcopy = Center::where('center_code','=',Auth::user()->center_code)->get();

  $pdf = PDF::loadView('Center.registretion_form_hardcopy', compact('hardcopy','center_details_hardcopy'))->setPaper('a4', 'portrait');

  $fileName = $hardcopy->student_registration_id;
  return $pdf->stream($fileName . '.pdf');
}

我的看法

<!DOCTYPE html>
<html>
<head>
    <!-- <title>0</title> -->


    <style>
        *{margin: 0; padding: 0;}
        body{ font-size:20px; }
        .banner{position: relative; width: 90%; margin: 0 auto; }
        .banner img{width: 100%}
        .heading{color: red; position: absolute; top: 50%; width: 100%; text-align: center; font-size:3rem;text-shadow: 5px 5px 10px #000000; }
        .x{color: pink; position: absolute; top: 50%; width: 100%; text-align:  }


           @page {
      size: 8.5in 11in;
      margin: .5in;
    }
    #bgimg {
      position: fixed;
      left: .0in;
      top: -.1in;
      width: 8.5in;
      height: 11in;
      z-index: -999

    }

    p {
  padding-left: 100px;
font-style: initial;
}

    b {
  padding-left: 100px;
font-style: initial;
}
  #header{
    position: relative;
}
#logo{
    position: absolute;


    right: 30px;
}

.left{
float:left;
}
.right{
float:right;
}


div.r {
  line-height: 90%;
}


    </style>
</head>
<body>
    <div class="container">

        <div class="banner">


            <img id="bgimg" src="center student hardcopy.jpg" alt="img" >


        </div>


  <font size="-1"><p style="font-family:sans-serif; "><b4 style="font-family:sans-serif;padding-left:170px;">{{$hardcopy->student_registration_id}}</b4></p></font>
<br>
  <font size="-1"><p style="font-family:sans-serif; "><b4 style="font-family:sans-serif;padding-left:170px;">{{$hardcopy->student_name}}</b4></p></font>
<br>


              <br> 
<br>


             <font size="-1">

                <div  class="r"><b3 style="font-family:sans-serif;padding-left:525px; text-align:right">{{$center_details_hardcopy->center_code}}<div></div></b3></font>       
</div><br>   


</body>
</html>

我创建了单个视图文件,并且我有多个模型,我想在视图中显示多个模型值,我想使用“学生模型”来显示学生详细信息,并使用“ CENTER ...]来显示中枢代码,] >>> [[

您将在控制器中获得多个集合,因此请使用first()而不是get()

更改

控制器

$center_details_hardcopy = Center::where('center_code','=',Auth::user()->center_code)->first();
更改

刀片文件

{{$center_details_hardcopy->center_code ?? ''}}
php laravel laravel-5 laravel-5.7
1个回答
0
投票
您将在控制器中获得多个集合,因此请使用first()而不是get()
© www.soinside.com 2019 - 2024. All rights reserved.