laravel如何检查表中的记录连接到用户表
Posted
技术标签:
【中文标题】laravel如何检查表中的记录连接到用户表【英文标题】:laravel How to check record in table connect to users table 【发布时间】:2018-04-20 14:29:30 【问题描述】:我是 laravel 的新手,也许这是一个奇怪的问题,如果两个条件无效,我不希望任何用户重定向到特定页面:
第一个 - 用户已经登录
第二个 - 在连接到用户表的客户表中(customer_id=user_id)检查该用户的包是否 == 1
所以我有两张桌子:
一个给用户
user_id
user_email
user_password
和客户表
customer_id
package number
如果用户已登录并且如果 customer_id=当前登录的用户 ID 和包 ==1,则重定向。希望任何人都可以帮助我。
我知道如何检查表用户,但如何检查表客户是否具有相同的客户 ID
@if(auth()->user()->user_id== 0)
【问题讨论】:
客户和用户之间有关系吗? 在控制器中制作这种类型的条件并传递一个变量 是的,我有关系 您可以将建议的代码从答案设置到自定义中间件中,并使用['auth', 'customMiddleware']
的组合来选择路线。
【参考方案1】:
你可以用这个。
在你的用户模型中
class User extends Model
//bunch of codes
public function customer()
return $this->hasOne('App\Customers', 'customer_id', 'user_id');
那么在你的情况下
if(Auth::attempt(array('user_email' => $email, 'user_password' => $pass), true)
&& Auth::user()->customer->package_number == 1)
//do some magic
【讨论】:
【参考方案2】:试试这个:
//use Auth Facade...
if (Auth::check() && Auth::user()->customer->package_number == 1)
//redirect to destination
else
//redirect to error page
【讨论】:
以上是关于laravel如何检查表中的记录连接到用户表的主要内容,如果未能解决你的问题,请参考以下文章