[英]Show data from 2 tables in laravel 5.4
I have a simple code, and now I want to select data from 2 tables. 我有一个简单的代码,现在我想从2个表中选择数据。 Then I want to show in my view. 然后,我想展示自己的观点。 Here's my code 这是我的代码
model: Tikpro.php 型号: Tikpro.php
class Tikpro extends Model {
public $table = "TIKPRO";
public $primaryKey = "ID_TIKPRO";
public function permintaan() {
return $this->hasMany('Permintaan', 'TIKPRO_ID', 'ID_TIKPRO');
}
model: Permintaan.php 型号: Permintaan.php
class Permintaan extends Model {
public $table = "PERMINTAAN";
public $fillable = array(
'NOMOR_TICKET',
'TGL_PERMINTAAN',
'NAMA_REQUESTER',
'BARANG_PERMINTAAN',
'NO_FPBJ',
'TGL_INPUT_FPBJ',
'TARGET_SELESAI',
'KETERANGAN',
'TINDAK_LANJUT_AKHIR',
'STATUS',
'FPB',
'RFQ',
'DO',
'BAST',
'TGL_DEADLINE',
'titik_proses',
'TIKPRO_ID',
);
public $primaryKey = "ID_PERMINTAAN";
public function tikpro() {
return $this->belongsTo('Tikpro','TIKPRO_ID','ID_TIKPRO');
}
Controller: PermintaanController.php 控制器: PermintaanController.php
public function details($ID_PERMINTAAN) {
$query = DB::table('PERMINTAAN')->select('TIKPRO.NAMA_TIKPRO')->join('TIKPRO','TIKPRO.ID_TIKPRO','=','PERMINTAAN.TIKPRO_ID')->get('all');
$jebret = Permintaan::find($ID_PERMINTAAN);
return view('permintaan.details', compact('jebret'))->with($query);
}
And how can I show it? 我该怎么显示呢? In my view I try {{ $jebret->$query }} . 在我看来,我尝试{{$ jebret-> $ query}}。 But still can't show the data. 但是仍然无法显示数据。
How should I write code? 我应该如何编写代码? Thanks 谢谢
I think you can try this 我想你可以试试看
public function details($ID_PERMINTAAN) {
$query = DB::table('PERMINTAAN')->select('TIKPRO.NAMA_TIKPRO')->join('TIKPRO','TIKPRO.ID_TIKPRO','=','PERMINTAAN.TIKPRO_ID')->where('PERMINTAAN.ID_PERMINTAAN',$ID_PERMINTAAN)->get();
return view('permintaan.details', compact('query'));
}
Hope this work for you 希望这项工作对您有帮助
There's 2 ways here. 这里有2种方法。 The first and easiest (if you've set it up correctly) is the relationship. 第一个也是最简单的(如果您已正确设置)关系。 https://laravel.com/docs/5.4/eloquent-relationships . https://laravel.com/docs/5.4/eloquent-relationships 。 To use the one in your example you want to do this: 要在您的示例中使用一个,您要执行以下操作:
$permintaans = Permintaan::query()->get()->all();
return view('permintaan.details', [
'permintaans' => $permintaans,
]);
//In the view
@foreach($permintaans as $permintaan)
<tr>{{$permintaan->tikpro->attribute}}</tr>
@endforeach
Another way like you've attempted is the join. 您尝试过的另一种方法是联接。 In the select though I would leave it blank so you get all columns! 在选择中,尽管我将其保留为空白,所以您将获得所有列!
$permintaans = Permintaan::query()
->join('TIKPRO','TIKPRO.ID_TIKPRO','=','PERMINTAAN.TIKPRO_ID')
->get()
->all();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.