首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Laravel,'users‘表的抽象层

Laravel,'users‘表的抽象层
EN

Stack Overflow用户
提问于 2019-02-20 02:07:56
回答 1查看 275关注 0票数 0

在一个Laravel项目中,我想使用Laravel身份验证表'users‘来拥有一个外部字段键,指向另一个表作为抽象层。有没有办法强制用户注册将一行添加到该抽象层表中?它的模型很简单,只有一个属性。

我的数组:`保护函数创建(数组$data) {

代码语言:javascript
运行
复制
    Rekvirent::create([
        'rekvirent' => $data['initialer'],
    ]);

    return User::create([
        'initialer' => $data['initialer'],
        'name' => $data['name'],
        'email' => $data['email'],
        'password' => Hash::make($data['password']),
    ]);
}

`我从mysql得到一条错误消息,它有一个外键错误,表明rekvirent在插入users表中的行时没有被插入。

我的rekvirent模型如下

代码语言:javascript
运行
复制
<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class Rekvirent extends Model {
    public $timestamps = false;     // dumps timestamps from table
    public $incrementing = false;   // if no autoincrementing
    protected $table = 'rekvirent';    // change default snake-case name
    protected $keyType = 'string';  // if key is not integer

    /**
     * The attributes that are mass assignable.
     *
     * @var array
     */
    protected $fillable = [
        'initialer',
    ];
/*
    public function user() {
        return $this->hasOne('App\User');
    }
 */
}
EN

回答 1

Stack Overflow用户

发布于 2019-02-20 06:43:06

如果您希望在新用户注册后执行某些操作,则可以侦听事件。

如果您看到Illuminate/Foundation/Auth/RegistersUsers.php

代码语言:javascript
运行
复制
/**
 * Handle a registration request for the application.
 *
 * @param  \Illuminate\Http\Request  $request
 * @return \Illuminate\Http\Response
 */
public function register(Request $request)
{
    $this->validator($request->all())->validate();

    event(new Registered($user = $this->create($request->all())));

    $this->guard()->login($user);

    return $this->registered($request, $user)
                    ?: redirect($this->redirectPath());
}

您会注意到laravel在内部发出了一个事件Illuminate\Auth\Events\Registered。您可以监听该事件,然后执行所需的操作,如插入到单独的表中等。

有关侦听事件的信息,请参阅event documentation

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54772443

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档