Laravel:按日期范围搜索

德伦诺斯

我需要在 Laravel 中按创建日期搜索记录

我的用户模型

public function scopeCreate_at($query, $created_at){
    if($created_at)
        return $query->whereRaw('created_at', 'LIKE', "%$created_at%");
} 

我的用户控制器

class UserController extends Controller
{
public function index(Request $request){
    $name  = $request->get('name');
    $email  = $request->get('email');
    $bio  = $request->get('bio');
    $created_at  = $request->get('created_at');

    $users = User::orderBy('id', 'DESC')
        ->name($name)
        ->email($email)
        ->bio($bio)
        ->created_at($created_at)
        ->paginate(10);
    return view('user', compact('users'));
}

风景

<div class="form-group">
{ Form::date('created_at', null, ['class' => 'form-control', 'placeholder' => 'Creacion'])}}
</div>

但是,当我重新加载页面时,我有这个

BadMethodCallException
Method Illuminate\Database\Query\Builder::created_at does not exist.

其他方法效果很好

滞后盒

'created_at' !== 'create_at'

scopeCreate_at

更新:

public function scopeCreate_at

scopeCreate_at

更新:

...Create_at

更新:

lagbox 把信交给 OP'd'说,“你把这个丢了”

但是说真的,您可以命名函数scopeCreated_at或通过命名函数来调用作用域create_at来解决该问题。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章