【问题标题】:Personalized password recovery laravel 5.8个性化密码恢复 laravel 5.8
【发布时间】:2019-10-19 22:29:32
【问题描述】:

在我使用 laravel 的项目中,对于其他人的问题,我有两个表:

用户: id, password, remember_token, person_id

人: id, name, email

问题是恢复密码所需的数据在两个不同的表中。

ForgotPasswordController.php 文件中

namespace App\Http\Controllers\Auth;

use App\Http\Controllers\Controller;
use Illuminate\Foundation\Auth\SendsPasswordResetEmails;
use Illuminate\Http\Request;
use App\User;
use App\Persona;

class ForgotPasswordController extends Controller
{


    use SendsPasswordResetEmails;


    public function sendResetLinkEmail(Request $request)
    {
        $this->validate($request, ['email' => 'required|email']);


        $response = $this->broker()->sendResetLink(
            $request->only('email')
        );

        switch ($response) {
            case \Password::INVALID_USER:
                return response()->error($response, 422);
                break;

            case \Password::INVALID_PASSWORD:
                return response()->error($response, 422);
                break;

            case \Password::INVALID_TOKEN:
                return response()->error($response, 422);
                break;
            default:
                return response()->success($response, 200);
        }
    }
}

显然我收到了一个找不到电子邮件列的错误。

SQLSTATE[42703]:未定义列:7 错误:列“电子邮件”没有 存在 LINE 1: select * from "users" where "email" = $1 limit 1 ^ (SQL: select * from "users" where "email" = email@email.es limit 1)

我终于通过帮助我解决这个问题来解决它。 Laravel 5.3 Password Broker Customization

【问题讨论】:

  • 您的报价有误。你在哪里生成这个 SQL?
  • 这个sql查询是laravel使用生成的,我不做。我已经更正了帖子的引用
  • Laravel 期望 email 字段在您的 users 表中。您正在做一些不寻常的事情,并且需要自定义内置功能来解决这个问题。
  • 是的,这就是问题,我必须自定义什么才能正常工作?
  • 我终于通过帮助我解决了这个问题来解决它。 stackoverflow.com/questions/40532296/…

标签: php laravel laravel-5.8


【解决方案1】:

您没有使用Eloquent Model Conventions 将人和用户结合起来。
尝试在迁移(播种机、模型等)中将 id_person 替换为 person_id

【讨论】:

  • 对不起,我在消息中输入了 id_person 但我确实有 person_id。问题是电子邮件和密码在不同的表中...
  • 我终于通过帮助我解决了这个问题来解决它。 stackoverflow.com/questions/40532296/…
猜你喜欢
  • 2019-10-11
  • 1970-01-01
  • 2020-01-17
  • 2020-02-25
  • 2011-10-04
  • 2011-06-13
  • 2010-11-30
  • 2012-02-01
  • 1970-01-01
相关资源
最近更新 更多