Php laravel查询don';t在本地和生产上返回相同的结果
我将laravel用于我的web应用程序,问题是,我的本地计算机和生产服务器具有相同的数据,但此代码不返回相同的结果,为什么Php laravel查询don';t在本地和生产上返回相同的结果,php,mysql,laravel,eloquent,Php,Mysql,Laravel,Eloquent,我将laravel用于我的web应用程序,问题是,我的本地计算机和生产服务器具有相同的数据,但此代码不返回相同的结果,为什么 Table::whereRaw('Date(created_at) = CURDATE()')->where('column_1',$int)->where('column_2',$tring)->where('column_3','string')->first(); 我认为这是可以的,但在我的服务器上总是空的(除非我在artisan-tink
Table::whereRaw('Date(created_at) = CURDATE()')->where('column_1',$int)->where('column_2',$tring)->where('column_3','string')->first();
我认为这是可以的,但在我的服务器上总是空的(除非我在artisan-tinker中尝试它)
你能帮我吗
编辑:
当我尝试此代码时:
$DayNBExist = Table::whereDate('created_at',date('Y-m-d'))->where(['profile_id'=>$id,'country'=>$country,'type'=>'user'])->first();
if(!isset($DayNBExist->id)){
Table::create([
'nbr'=>1,
'profile_id'=>$Channel->id,
'country' => $country,
'type' => 'channel',
]);
}else{
$DayNBExist->increment('nbr');
}
它创建新行,而不是更新旧行为什么?
谢谢所有的问题不是代码而是“$country”值的问题很抱歉回复太晚
我认为主要原因是
servertime
和您的localmachine
不一样
请配置您的时间'timezone'=>'UTC',
,可在中找到
Project/config/app.php
或者有另一种方法,但不推荐拉雷维尔使用
加
在index.php中(在公用文件夹中)您确定它们具有相同的数据,包括在标记处创建的
数据吗?$tring
是打字错误吗?我强烈怀疑应该是$string
。如果这不是你的问题,你需要发布更多信息,比如你的表的结构。你能检查我的编辑吗?我看到你的编辑,但你没有真正回答我的前两个问题。当我说不返回相同的结果时,我的意思是,在本地代码中没有问题,当他找到相同的日期时,这是增量。但在生产中,该查询总是在数据库中添加新行。当创建新行时,这个查询总是空的。什么是打字错误?这仍然不能回答我关于数据的问题。你说两台机器有“相同的数据”,你确定吗?“typo”表示“排版错误”。$tring
是一个非常奇怪的变量名。您确定不应该是$string
?
date_default_timezone_set('Asia/Calcutta');