Je suis occupé avec Laravel. From Scratch: Mise à jour des enregistrements et chargement rapide . J'ai suivi le tut mais j'obtiens cette erreur en essayant d'ajouter des données utilisateur dans CardsController. Je suppose que j'ai raté une étape dans la relation utilisateur de carte quelque part, mais j'ai visionné la vidéo 3 fois et mes requêtes de base de données pour User, Card & Note correspondent exactement à la vidéo.
Dois-je effectuer une autre étape après la création du tableau Utilisateurs via la migration?
Erreur
BadMethodCallException in Builder.php line 2345:
Appel de la méthode non définie Illuminate\Database\Query\Builder :: user ()
Code CardsController
<?php
namespace App\Http\Controllers;
use App\Card;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
class CardsController extends Controller
{
public function index()
{
$cards = Card::all();
return view('cards.index', compact('cards'));
}
public function show(Card $card)
{
$card = Card::with('notes.user')->get();
return $card;
return view('cards.show', compact('card'));
}
}
Votre modèle note
manque de la définition de la relation car il est associé à user
.
Vous devriez juste pouvoir ajouter la relation dans le modèle Notes
comme ceci:
public function user()
{
return $this->belongsTo(User::class);
}
Cette vidéo a quelques problèmes, donc j'ai aussi rencontré le même problème ... Vous devriez juste pouvoir ajouter la relation dans le modèle Note comme ceci:
public function user()
{
//return $this->belongsTo(User::class);
return $this->belongsTo('App\User');
}
et dans le modèle utilisateur comme ceci:
public function notes()
{
return $this->hasMany(Note::class);
//return $this->belongsTo('App\Note');
}
soyez bénis !