【发布时间】:2018-06-24 20:54:20
【问题描述】:
我正在尝试获取上次用户活动的“created_at”时间,
我有型号 User 和 UserActivity。
我想获取最后一个用户活动并检查该用户的最后一个活动是否是 3 天发送通知,
用户.php
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class User extends Model
{
public function activites()
{
return $this->hasMany(Activty::class);
}
}
Activity.php
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
use Carbon\Carbon;
class Activity extends Model
{
function function user(){
return $this->belongsTo(User::class);
}
}
控制器
$latest_activites = User::whereHas("activites",function($query){
$query->where("created_at",">=",Carbon::now()->subDays(3));
});
$latest_activites = $latest_activites->get();
【问题讨论】:
-
您只想为一位用户(当前用户)检查此项?
-
@AlexeyMezenin 不,我想给所有用户发送提醒消息,最后一次活动是 3 天
-
如果您想获取所有用户在 3 天或更早之前的最后一次活动,请查看我的回答。
-
但我只想获取最后一个活动,我想获取活动信息,而不仅仅是用户,无论如何要这样做?
-
但是要发送通知,您仍然需要一个用户实例。那么,您需要让用户只收到一条最新通知吗?还有,关系是
hasMany()?