我有一个有说服力的事件模型,它与以下多个日期相关:
$event->dates // shows Collection of 8 Eloquent date models
之后,我需要选择唯一的日期,最接近当前时间的日期。我知道如何使用原始SQL查询或DB类来实现这一点。但是没有更好的解决办法吗?我不想跳进数据库获取数据,我已经有了。
在雄辩的模型中,日期格式是令人惊讶的字符串。
你可以像这样使用我们所说的Laravel突变体-
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Event extends Model
{
public function dates()
{
return $this->hasMany('Date');
}
/**
* Get Dates for the event.
*
* @param string $value
* @return array
*/
public function getDates()
{
$dates = $this->dates()->getQuery()->orderBy('created_at', 'asc')->get();
return $dates;
}
}
希望这有帮助。
更新
我想现在你也可以直接在模型定义中这样做-
return $this->hasMany('Date')->orderBy('created_at', 'asc')
问题内容: 我需要从MySQL表中获取与当前日期最接近的日期。 这是我的桌子: 因此,如果查询今天运行,它将返回 任何帮助深表感谢。谢谢 问题答案:
问题内容: 给定此基准日期: 我想在列表中找到一个包含最接近日期的元组,但是它不能是更早的日期。 所以这里的输出应该是(它不能是第三个元组,因为那里的日期早于基准日期) 我的问题是,是否存在用于此类日期比较的任何模块?我试图先将所有数据更改为格式,然后进行比较,但是我的代码变得很丑陋,而且切片很多。 @编辑: 要测试的大清单: 要测试的大清单: 问题答案: 将日期转换为datetime对象,所以现
我有两个日期字段: 开始日期和结束日期和临时日期。 我有一个列表,其中我在开始日期和结束日期之间返回了6条记录。我如何过滤记录并返回最接近临时日期的日期时间? 在示例记录中,我需要获得第二条记录,因为与临时日期相近。实例
我有一个问题表和一个标签表。我想从给定问题的标签中获取所有问题。例如,我可能会在给定的问题上附加“旅行”、“火车”和“文化”的标签。我希望能够获取这三个标签的所有问题。看起来很棘手的是,问题和标签关系在《雄辩》中被定义为归属的多对多关系。 我想尝试合并以下问题集合: 但它似乎不起作用。似乎没有合并任何内容。我这样做对吗?此外,是否有更好的方法以雄辩的方式获取多对多关系中的一行行?
问题内容: 例如,我有2个时间表:T1 和T2 我需要从T1获取最接近T2的时间。这些表之间没有关系。应该是这样的: 但是我不明白。有什么建议? 问题答案: 我相信这是您要查找的查询: 确保时间列具有相同的日期部分,否则t2.time-t1.time部分将无法正常工作。 编辑 :感谢您的接受,但本的下面的答案是更好。它使用Oracle分析功能,性能会更好。
我想知道收藏中最新的唱片。怎么做? 注意:我知道以下命令行查询工作: 在idate中添加了时间戳。 问题是收集时间更长,我的“测试”收集真的很大。我需要一个具有恒定时间响应的查询。 如果有更好的mongodb命令行查询,一定要告诉我。