通过字符串查找模型


Find model by a string

我很难在这个存储库方法中找到问题:

public function findByString($string)
{
        return User::where('string', $string)->get();
}

它生成了正确的SQL语句,我可以在Sequel Pro中运行该语句,返回正确的结果。

然而,当在Laravel(4.2)中调用此方法时,结果总是空的:

$this->user->findByString('something');

在的另一边

$this->user->findOrFail(1);

始终返回正确的模型。

有什么想法吗?

return User::where('string', $string)->get(); 

将返回一个可以迭代的集合。

如果你想把第一个实例作为Eloquent模型,你可以这样做:

return User::where('string', $string)->first();