如何从Laravel和VueJS中的两个相关表中选择数据

时间:2019-07-01 07:18:14

标签: laravel vue.js

我有两个表,students和parents,student表引用了parent id,当我注册父母时需要注册学生时,我首先选择特定学生的父母姓名。请任何可以帮助我的人

我设法创建了两个表的模型及其关系

这是我的学生模特

namespace App;
use Illuminate\Database\Eloquent\Model;
class Student extends Model
{
       protected $fillable = [
          'parentt_id','admission', 'fname', 
          'mname','lname','dob','gender','form_admitted',
          'transfered_from',
          'transfered_to'
        ];

         public function student()
         {
             return $this->belongsTo(Parentt::class);
         }

         public function fee()
         {
            return $this->belongsTo(Student::class);
         }
 }

这是根据父模型

namespace App;
use Illuminate\Database\Eloquent\Model;
class Parentt extends Model
{
       protected $fillable = [
          'fname', 'mname','lname','occupation',
          'residence','address','phone',
       ];
       public function parentt()
       {
              return $this->hasMany(Student::class);
       }
 }

这是我的学生组件中的视图组件

<div class="form-group">
     <select  class="form-control" >
          <option v-for ="parentt in parentts" :key="parentt.id"> 
             {{parentt.fname}}
          </option>
     </select>
</div>

my expecting output

2 个答案:

答案 0 :(得分:2)

public function retrive(Request $request)
{   
     $parent = Parent::with('student')->get();
     return view('your_page',['parent'=>$parent]);
}

在控制器上尝试

答案 1 :(得分:0)

在收费视图后,尝试发出XHR请求以获取数据。或者,也许您可​​以尝试使用此软件包:

https://github.com/laracasts/PHP-Vars-To-Js-Transformer

要在JavaScript中编写全局变量,但要使用PHP。