gpt4 book ai didi

Laravel 过滤日期之间的数据

转载 作者:行者123 更新时间:2023-12-02 20:37:58 24 4
gpt4 key购买 nike

我是 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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com