Php 有没有比model::whereName(';name';)->;更好的方法获取频繁访问的模型;第一个()?
很抱歉,这个问题没有更具体,但我不太确定我想要什么。我在我的Php 有没有比model::whereName(';name';)->;更好的方法获取频繁访问的模型;第一个()?,php,laravel,Php,Laravel,很抱歉,这个问题没有更具体,但我不太确定我想要什么。我在我的用户模型上有一个grant()函数,可以启动资金从源帐户转移到用户帐户。函数的一个参数是TransactionType。我希望能够呼叫的是: $user->grant(100000000,交易类型::乐天赢) 不打电话 $user->grant(100000000,交易类型:whereName('lotking\u win')->first()) 最好的方法是什么?我也许可以用范围来实现它,但我想知道是否有更好的方法。用范围来实现它
用户
模型上有一个grant()
函数,可以启动资金从源帐户转移到用户帐户。函数的一个参数是TransactionType
。我希望能够呼叫的是:
$user->grant(100000000,交易类型::乐天赢)
不打电话
$user->grant(100000000,交易类型:whereName('lotking\u win')->first())
最好的方法是什么?我也许可以用
范围来实现它,但我想知道是否有更好的方法。用范围来实现它是可以的。从一个作用域返回一个数据库结果甚至是完美的。在TransactionType
中创建范围:
public function scopeLotteryWin($query)
{
// Do what you need here
return $query->whereName('lottery_win')->first();
}
然后,您可以通过以下方式获得该结果:
TransactionType::lotteryWin();