几周前,我开始学习laravel,并且已经开始创建自己的网络应用,但是我遇到了问题,需要您的帮助。
我使用make:auth命令创建了一个身份验证系统,添加了字段并自定义了表单。
现在,我正在研究推荐系统。每个用户都有一个唯一的affiliate_id和一个引用链接,例如:http://127.0.0.1:8000/?ref=WZv7Crm40Z。
当访问者单击此链接时,值WZv7Crm40Z将保存在cookie中。 我想要的是,当访客加载注册表时,会将WZv7Crm40Z值与数据库进行比较,并在注册表上显示链接到该值的用户名。
我试图在showRegistrationForm()上工作,但是我认为我无法从此函数从数据库导入数据。我总是遇到此错误“找不到类'Illuminate \ Foundation \ Auth \ db'”。
我看到了有关这些主题的一些主题,但是它们直接在showRegistrationForm()中创建数据,因此它们不是从数据库中导入的。
也许这不是我想要的最好方法吗?你还有另一个主意吗? 在注册表中查找数据库中的数据是否安全? (访客未登录时)。
谢谢您的帮助,对不起我的英语...我是法语! :)
答案 0 :(得分:0)
您当然可以查询数据库
尝试一下
在 app / Http / Controllers / Auth / RegisterController.php
上添加此方法 <?php
use App\User;
//Or if you want DB Facade
use Illuminate\Support\Facades\DB;
//....
public function showRegistrationForm(Request $request)
{
$referer = User::where('referer', $request->ref)->first();
return view('auth.register', compact('referer'));
}