我有两种类型的用户:客户
、经理
。存储在单独的表中。
每个人都有独特的昵称。
所以,我需要通过昵称
打开个人资料。
对于客户来说:
$client = Client::where("nickname", $nickname)
对于经理来说是:
$manager = Manager::where("nickname", $nickname)
因此,我尝试创建通用函数来检测客户端和管理器的位置并执行适当的查询。
如何改进此代码并仅通过昵称检测用户类型?
最佳答案
您应该为此使用一种模型,我想这将是处理客户和经理的最佳方式。
如果由于某种原因您想使用两个模型,您可以创建方法并将其放入 Client
模型中,因为大多数查询将针对客户端:
public function getClientOrManagerByNickname($nickname) {
$client = $this->where('nickname', $nickname)->first();
return is_null($client) ? (new Manager)->where('nickname', $nickname)->first() : $client;
}
如果找到客户端,此代码将创建一个查询并返回该客户端。或者它将创建两个查询并返回管理器。如果没有该昵称的客户和经理,则返回null
。
关于php - 如何区分配置文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40524705/