2016-07-04 12 views
1

Anfänger Frage vorbei:Laravel undefinierte Variable, wenn Variable

ich vorbei den $ wordsRow Variable aus dem WordsController zur results2 Klinge. $ wordsRow enthält eine Zeile in der Worttabelle.

WordsController Code:

$wordsRow = Words::where(DB::raw('body'),'LIKE', "%{$body}%")->get(); 

     return view('results2', [ 
    'message' => $message , 
    'wordsRow' => $wordsRow]); 

Und dann in results2 Klinge, die Körper und ID-Spalten von wordsRow an der Klinge dashboard2 vorbei.

@if (isset($wordsRow)) 
    @foreach ($wordsRow as $wordsRow) 
<a href="{{route('dashboard2',[ 
    'wordsRowB'=>$wordsRow->body, 
    'wordsRowId'=>$wordsRow->id])}}">{{$wordsRow->body}}</a> <br> 
    @endforeach 
@endif 

Und dann in dashboard2 Klinge, habe ich ein Problem wie folgt:

Wenn ich ein Formular mit einem leeren Aktion verwenden <form action="#" method="post">, keine Probleme auftreten, und die Dashboard-Ansicht öffnet sich ohne Probleme. Während, wenn ich benutze:

<form action="{{route('post.create',['wordID' => $wordsRowId])}}" method="post"> 

ich die folgende Fehlermeldung:

Error in aadedc1cbff958325ddae8e9ce9778562c4daf4a.php Linie 83: Undefined variable: wordsRowId (Ansicht: D: \ wamp \ www \ Xxxxx \ resources \ ansichten \ dashboard2.blade.php)

Irgendwelche Hilfe?

+0

Ihr Fehler ist in der dashboard2.blade.php so sind vorbei Sie die $ wordsRowId auf dieser Seite als ths ist, wo es heißt seine nicht gefunden. –

+0

Ja, ich übergebe es an dashboard2 –

+0

Das Formular ist innerhalb der Schleife? – z3r0ck

Antwort

0

Das Problem war in der Route wie Gerard Rechs erwähnt.

Ich veränderte die dashboard2 Route die 2 Variablen und modifiziert, um die Steuerung auch empfangen die zwei Variablen und dann bringt sie zurück in die Dashboard2 Blick zu halten, wie folgt:

Code Controller:

public function getDashboard($wordsRowId, $wordsRowB) 
    { 
     $posts = Post::orderBy('created_at', 'desc')->get(); 
     //$posts=post::all(); 
     //return view('dashboard'); 
     return view('dashboard2', [ 
      'posts' => $posts, 
      'wordsRowB'=> $wordsRowB , 
      'wordsRowId'=> $wordsRowId 
      ]); 

    } 

Leitungswegcode:

Route::get('/dashboard2/{wordsRowB}/{wordsRowId}', [ 
    'uses' => '[email protected]', 
    'as' => 'dashboard2', 
    'middleware' => 'auth' 
]); 
Verwandte Themen