Laravel 过滤日期之间的数据

标签 laravel filter controller laravel-5

我是 Laravel 和 Web 开发的初学者,我有一个愚蠢的问题,我正在构建一个列出用户财务交易的系统。主页中列出了用户进行的所有交易。我在那里放置了两个字段来创建交易的日期过滤器,但我不知道如何在 Laravel 中进行此过滤器。

我正在使用 datepicker 并且它工作正常,我也知道验证系统允许我使用 Laravel date: after 和 date: before,但我不知道 Controller 中如何以及在哪个方法中发送这些日期。这是我的日期表单代码:

{!! Form::open(['route' => 'transactions.index']) !!}

    {!! Form::label('data_inicio', 'De: ') !!}
    {!! Form::input('date', 'data_inicio', null, ['class' => 'datepicker', 'data-date-format' => 'dd/mm/yy']) !!}

    {!! Form::label('data_fim', 'Até: ') !!}
    {!! Form::input('date', 'data_fim', null, ['class' => 'datepicker', 'data-date-format' => 'dd/mm/yy']) !!}

    {!! Form::submit('Enviar') !!}

{!! Form::close() !!}

Controller 中调用首页 View 的方法是index,索引代码如下:

public function index()
{
    $transactions = Auth::user()->transactions;

    return view('transactions.index', ['transactions' => $transactions]);
}

以下是我在 View 中显示数据的方式:

@foreach( $transactions as $transaction )
    <tr>
        <td><a href="#">{!! date('d-m-Y', strtotime($transaction->created_at)) !!}</a></td>
        <td><a href="#">{!! $transaction->title !!}</a></td>
        <td>{!! $transaction->amount !!}</td>
    </tr>
@endforeach

我需要发送这些日期,当单击 Pesquisar 按钮时,我得到了相同的方法(索引),以便能够在数据库中仅查找建议日期的交易,问题是我不知道这样做。

我尝试将这些日期作为参数请求发送到索引方法,如下修改:

public function index(Request $request)

当我单击提交时,出现“未找到列”错误,但我没有在该方法的任何查询中使用此请求。 我真的认为它有一个简单的方法来做到这一点,我感谢任何帮助!!

这是我的模型类:

class Transaction extends Model {

    protected $table = 'transactions';

    protected $guarded = [];

    public function users()
    {
        return $this->belongsTo('App\User');
    }
}

最佳答案

尝试此方法来获取 Controller 中的日期:

$data_inicio = Input::get('data_inicio');
$data_fim = Input::get('data_fim');

然后您可以使用日期来查询您的交易关系(假设这是一对多关系并且配置正确)

$transactions = Transaction::whereBetween('created_at',[$data_inicio, $data_fim])->where('user_id',Auth::id())->get();

关于Laravel 过滤日期之间的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30008404/

相关文章:

php - Laravel 邮件中的 "Reply-to"字段不起作用

php - 使用 api 调用更新 laravel 中的值

java - 在 WEKA 中运行 StringToWordVector 过滤器

javascript - 如何从服务调用 Controller 中的函数

java - Spring mvc 空数组作为默认值

php - 使用 Laravel 表单模型绑定(bind)和复选框更新多对多 Eloquent 关系

laravel - 获取空结果时如何避免使用 Eloquent 的 toArray 时出错

wordpress - WordPress 小部件(或侧边栏) Hook 是否存在?

java - 尝试使Java中的音频失真

Grails Controller 为所有操作重复代码