我有选择所有文章的代码。我认为,我所做的是错误的。我正在选择所有值,然后我正在执行它们。
Article::all()->each(function($article) {
if ($article->created_at == $article->published_at && $article>published) {
$article->update(['published_at' => null]);
}
});
我需要做的只是选择那些提到的created_at和updated_at相同的文章 我怎么能在数据库级别上这样做? 我需要那样:
Article::where('created_at', '=', 'published_at')->where('published')->get()->each(function($article) {
$article->update(['published_at' => null]);
}
});
这段代码肯定不起作用,只是为了想象。
答案 0 :(得分:2)
编辑您的代码
Article::all()->each(function($article) {
if ($article->created_at == $article->published_at && $article->published) {
$article->update(['published_at' => null]);
}
});
答案 1 :(得分:1)
您只需在两列中搜索一个值:
Article::where(['created_at' => $date, 'updated_at' => $date ])->get();
编辑:
将whereRaw用于此
Article::whereRaw('created_at = updated_at')->get();