2017-06-15 68 views
1

我有一個簡單的代碼,現在我想從2個表中選擇數據。然後我想表達我的看法。這裏是我的代碼顯示laravel中的2個表的數據5.4

型號: Tikpro.php

class Tikpro extends Model { 
    public $table = "TIKPRO"; 
    public $primaryKey = "ID_TIKPRO"; 

    public function permintaan() { 
    return $this->hasMany('Permintaan', 'TIKPRO_ID', 'ID_TIKPRO'); 
} 

型號: 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'); 
} 

控制器: 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); 
} 

我該如何顯示它?在我看來,我嘗試{{$ jebret - > $ query}}。但仍然無法顯示數據。

我該如何編寫代碼?由於

回答

0

我想你可以試試這個

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')); 
} 

希望這對你的工作

0

有2種方式在這裏。第一個也是最簡單的(如果你已經正確設置)是關係。 https://laravel.com/docs/5.4/eloquent-relationships。要使用你的例子中的一個,你想這樣做:

$permintaans = Permintaan::query()->get()->all(); 

return view('permintaan.details', [ 
    'permintaans' => $permintaans, 
]); 

//In the view 

@foreach($permintaans as $permintaan) 
    <tr>{{$permintaan->tikpro->attribute}}</tr> 
@endforeach 

另一種類似你試圖加入的方式。在選擇,但我會留下它,所以你會得到所有列!

$permintaans = Permintaan::query() 
->join('TIKPRO','TIKPRO.ID_TIKPRO','=','PERMINTAAN.TIKPRO_ID') 
->get() 
->all(); 
+0

感謝您的回答:)但我更喜歡使用另一個。謝謝! – jebret