J'écris un point de terminaison avec Laravel à l'aide de l'utilisation. Lorsque j'ai testé sur Postman en utilisant la méthode postale, j'ai reçu cette erreur:
Errorexception: essayer d'obtenir la propriété 'ID' de non-objet dans le fichier C: \ XAMPP \ htdocs \ test-fichier \ test \ app \ http \ contrôleurs \ apicontroller.php à la ligne 912 p> blockquote>
contrôleur p>
xxx pré> modèle p>
xxx pré> ressource p>
xxx Pré> Si j'utilise cette méthode postale: P>
http: // localhost / test-file / STESTING / API / API / ShoreBilling ? Réseau = 100 p> blockQuote>
Il est supposé poster dans la base de données, mais j'ai eu cette erreur: p>
Errorexception: essayer d'obtenir la propriété 'ID' de non-objet dans le fichier C: \ XAMPP \ htdocs \ test-fichier \ test \ app \ http \ contrôleurs \ apicontroller.php à la ligne 912 p> blockQuote> p>
4 Réponses :
Votre erreur dit que si vous Si c'est un tableau, vous pouvez accéder à la valeur comme 'user_id' => $ demande-> utilisateur () -> id code> p>
Demande- $-> User () code> n'est pas un objet, vous ne pouvez donc pas accéder à ses paramètres à l'aide de la notation d'objet, par exemple. -> id code>. p>
dd ($ demande-> utilisateur) code> Vous pouvez voir que vous n'obtenez pas ce que vous pensiez avoir obtenu - cela peut être un tableau, ou ce n'est peut-être pas la bonne valeur à tous. p>
$ Demande ['utilisateur'] ['ID'] code>. Cela dépend vraiment de ce que vous passez dans votre demande de poste. P>
Si vous souhaitez que l'utilisateur actuel, vous pouvez utiliser $ demande-> utilisateur () -> id code> est incorrect. p>
auth :: utilisateur () code>. p>
sur vous p>
Fonction publique StoreBilling (Demande de Demande de Demande) P> blockQuote>
vous écrivez
$ createBilling = facturation :: créer ([[ 'user_id' => $ demande-> utilisateur () -> id, code> et cette erreur Créer une erreur. P>ou est préférable d'avoir
$ CreateBilling = facturation :: créer ([ 'user_id' => auth :: user () -> id, code> pour trouver l'identifiant de l'utilisateur authentificate. p>N'oubliez pas d'ajouter
Utiliser auth; code> au début du contrôleur p>
Au début de votre question, vous avez dit que vous essayez de construire un point final à l'aide de Lravel ..
Postman n'aura pas accès à l'objet utilisateur, sauf authentification, si vous devez alors travailler :: p> < Pré> xxx pré> p>
Essayez de vérifier si cet utilisateur existe dans la DB 'user_id' => $ demande-> utilisateur () -> id. son possible, il n'a pas pu obtenir l'identifiant de l'utilisateur avant d'insérer dans dB