2016-06-20 17 views
0

ich ein Problem mit doppelt-ID in der Beziehung habenLaravel 5 Wiederholen ID

Beziehung/Modell:

public function pp(){ 
     return $this->hasMany('App\Pp',"pfield","id") 
      ->join('other',"other.id",'=','Pp.product'); 
    } 

Controller:

$pp = $psmf->pp; 
     print_r($pp); 

Ich muss zweimal id haben, aber ich kann nicht tun, Tabellen sehen wie aus:

|id|name|sth1|sth2 
    |1 |asfa|afsf|faxc 
    ................. 

    next table: 
    |id|sth3|sth4 
    |1 |asdg|afsg 
    |2 |awer|qerq 
    |3 |retr|gdfg 

Ich möchte print_r so die Daten anzeigen lassen.

[original:protected] => Array 
         (
          [id] => 1 
          [name] => asfa 
          [sth1] => afsf 
          [sth2] => faxc 
          [id] => 1 
          [sth3] => asdg 
          [sth4] => afsg 
         ), 
         Array 
         (
          [id] => 1 
          [name] => asfa 
          [sth1] => afsf 
          [sth2] => faxc 
          [id] => 2 
          [sth3] => awer 
          [sth4] => qerq 
         ), 
         Array 
         (
          [id] => 1 
          [name] => asfa 
          [sth1] => afsf 
          [sth2] => faxc 
          [id] => 3 
          [sth3] => retr 
          [sth4] => gdfg 
         ) 

Grundsätzlich müssen Sie Ihr Skript zweimal Tabellen ID verwenden. Leider ist auf diese Weise mein Weg zu allen Daten gut, aber ID wird überschrieben. In einem einfachen SQL-Code, was es tun muß, würde es so aussehen:

select id as "first_id",name,sth1,sth2,id as "Sec_id",sth3,sth4 

Und auf diese Weise kann ich die id 2 mal

Können Sie uns helfen benutzen?

Antwort

3

Bitte wie dies in der Steuerung verwendet

$variableName = modelName::with('modelFunction')->first(); 

oder

$variableName = modelName::with('modelFunction')->get(); 

Sie können die vom Modell verbinden entfernen und es verwenden, nachdem sie mit() vor -> ersten/get().