很抱歉,这个问题没有更具体,但是我不确定我要做什么。我的grant()
模型上有一个User
函数,该函数启动资金从源帐户到用户帐户的转移。函数的参数之一是TransactionType
。我希望能够拨打的电话是这样的:
$user->grant(100000000, TransactionType::LotteryWin)
不打电话
$user->grant(100000000, TransactionType:whereName('lottery_win')->first())
什么是最好的方法?我也许可以用scopes
来实现,但是我想知道是否有更好的方法。
答案 0 :(得分:1)
可以使用示波器进行操作。从作用域返回数据库结果甚至完全可以。在TransactionType
中设置范围:
public function scopeLotteryWin($query)
{
// Do what you need here
return $query->whereName('lottery_win')->first();
}
然后您可以通过以下方式获得该结果:
TransactionType::lotteryWin();