簡體   English   中英

LARAVEL 7.0 傳遞給 Illuminate\\Auth\\SessionGuard::login() 的參數 1 必須實現接口 Illuminate\\Contracts\\Auth\\Authenticatable,給定數組

[英]LARAVEL 7.0 Argument 1 passed to Illuminate\Auth\SessionGuard::login() must implement interface Illuminate\Contracts\Auth\Authenticatable, array given

完全錯誤是:

傳遞給 Illuminate\\Auth\\SessionGuard::login() 的參數 1 必須實現接口 Illuminate\\Contracts\\Auth\\Authenticatable,給定數組,在 C:\\laravel\\deliver-boo\\vendor\\laravel\\ui\\auth-backend\\RegistersUsers 中調用第 41 行的 .php

在此處輸入圖片說明

這個想法是創建一個用於交付的應用程序,因此在這種情況下,用戶(應該是真實的餐廳)將自己注冊到應用程序並添加他所有的餐廳信息(如增值稅等)。

我所做的基本上是修改 Laravel 標准用戶注冊表單,以便它可以獲取額外的字段並將其發送到數據庫中的表中。 Users 表也與表 Categories 有多對多的關系,這個想法是用戶(餐廳)可以以相同的形式注冊自己和他的相關類別(素食主義者、素食主義者、意大利人……)。

(為了使此屏幕截圖更清晰,某些字段已被隱藏)。

PS 我知道要選擇多個值,我應該使用復選框而不是選擇,這只是一個臨時解決方案。

在此處輸入圖片說明

在 RegisterController.php 中的代碼中,我在第 84 行創建了一個新用戶,並嘗試將該類別附加到第 104 行的數據透視表 category_user,然后返回用戶。

在此處輸入圖片說明

為了實現選擇類別的可能性,我必須修改 RegistersUser.php,在第 9 行我傳遞了 Category 模型,然后在 showRegistrationForm() 中傳遞了第 25 行的所有類別並將其返回到寄存器.blade.php 視圖。

現在,錯誤的產生是因為第 42 行的函數出錯了,這個函數應該負責身份驗證(不確定)。

在此處輸入圖片說明

無論如何,每個數據都正確地進入數據庫,在表中,並且在數據透視表 user_category 中也生成了關系,但是新用戶 Laravel 不會自動登錄,而是會生成錯誤。

錯誤在第 106 行,compact('new_user') 正在返回數組,您必須返回 $new_user,一切都會正常工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM