2017-06-15 9 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

は、私はあなたがこの作品はあなた

0

のために、ここでは2つの方法があります。この

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

希望を試すことができると思います。あなたがそれを正しく設定していれば、最初と最も簡単なのは関係です。 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 

もう1つの方法は、結合です。私はそれを空白のままにしておきますが、あなたはすべての列を取得します!

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

あなたの答えはありがたいです:)しかし、私は別のものを使用することをお勧めします。ありがとうございました! – jebret

関連する問題