我在用户表中有两个表,客户和用户:
ID
名称
电子邮件
密码
客户
ID
CUSTOMER_ID
的package_id
当有人注册时,在用户表中创建ID号,同时在客户表中创建:id和 customer_id 从id->用户获取相同的值 内部客户模型我有
public function owners()
{
return $this->belongsToMany('App\User', 'customers');
}
我现在需要的只是在注册后检查当前customer_id的package_id是否为空或null返回..否则如果有任何数字返回... 我在控制器中尝试了这个但是没有工作
public function redirectpackage(Request $request)
{
if (Auth::check() && Auth::user()->customer->package_id == 1) {
return view('index.customer.customerpackage');
}
else{
return view('index.customer.customerabout');
}
}
答案 0 :(得分:0)
如果customers.customer_id
是引用users.id
的外键,则:
因此,在owners()
内belongsToMany()
替换belongsTo()
:
public function owners()
{
return $this->belongsTo('App\User', 'customer_id');
}
在User
模型中,添加与Customer
模型的关系:
class User extends Model
{
public function customers()
{
return $this->hasMany('App\Customer', 'customer_id');
}
}
现在,您可以检查用户是否在package_id
关系中具有给定的customers()
:
Auth::user()->customers()->where('package_id', 1)->count();
或者,您可以使用isEmpty()
代替count()
。