2017-08-11 3 views
0

Je me suis récemment mis à jour en version 5.4 et je passe de passer un identifiant et de charger l'enregistrement, à passer directement l'objet de la commande à la fonction show. J'utilise cette méthode sur quelques projets nouvellement installés, donc je pense que cela a peut-être quelque chose à voir avec la mise à niveau. En outre, j'ai essayé la même chose sur mon InvoicesController avec le même résultat.Laravel Eloquent Collection voir l'objet est vide

Mon itinéraire pour les commandes:

Route::resource('order', 'OrderController'); 

Et voici un extrait du OrderController:

namespace App\Http\Controllers; 

use App\Order; 
use App\User; 
use App\Item; 

use Illuminate\Http\Request; 
use Illuminate\Routing\Controllers; 
use App\Http\Requests\OrderRequest; 

class OrderController extends Controller { 

    public function show(Order $order) 
    { 
     dd($order); 
    } 
} 

Les rendements dd ce que - sans données:

Invoice {#738 ▼ 
    #table: "invoices" 
    +timestamps: true 
    #dates: array:1 [▶] 
    #connection: null 
    #primaryKey: "id" 
    #keyType: "int" 
    +incrementing: true 
    #with: [] 
    #withCount: [] 
    #perPage: 15 
    +exists: false 
    +wasRecentlyCreated: false 
    #attributes: [] 
    #original: [] 
    #casts: [] 
    #dateFormat: null 
    #appends: [] 
    #events: [] 
    #observables: [] 
    #relations: [] 
    #touches: [] 
    #hidden: [] 
    #visible: [] 
    #fillable: [] 
    #guarded: array:1 [▶] 
    #forceDeleting: false 
} 
+0

A quoi ressemble votre 'url', est-ce pluriel (ordres)? –

+0

C'est singulier .. l'index est/order et pour voir un ordre de commande/250 par exemple. –

+0

Etes-vous sûr que cette image provient de cette action du contrôleur? L'objet exporté provient de la classe 'Inoice' ...? –

Répondre

0

je suppose Dans la méthode show, le paramètre doit être l'objet de OrderRequest. pas l'objet de l'Ordre.

public function show(OrderRequest $order){ 
    dd($order); 
} 
+0

Quand je fais ce changement, il me redirige juste vers l'index –

0

assurez-vous que votre code html comme ceci:

<a href="{{ route('order.show',$your_order_id) }}">show</a> 

Controller:

public function show(Order $order) 
    { 
     dd($order); 
    } 

ou

public function show(\App\Order $order) 
     { 
      dd($order); 
     } 

Hope it helps