Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在Laravel中显示基于查看器时区的帖子_Php_Mysql_Laravel_Laravel 5_Laravel 5.4 - Fatal编程技术网

Php 在Laravel中显示基于查看器时区的帖子

Php 在Laravel中显示基于查看器时区的帖子,php,mysql,laravel,laravel-5,laravel-5.4,Php,Mysql,Laravel,Laravel 5,Laravel 5.4,我正在一个网站上工作,该网站计划在特定时间向学生展示教程内容。我使用的是Laravel框架和碳包装。我在课程表中有两个字段。日期/时间字段和首秀时区字段,用于根据计划的日期和时间向学生显示教程。它运行良好,因为我在Laravel中使用WHERE子句 // For example: $student_id = \Auth::user()->id; $lessons = Lesson::where('student_id', $student_id)->where('debut_dat

我正在一个网站上工作,该网站计划在特定时间向学生展示教程内容。我使用的是Laravel框架和碳包装。我在课程表中有两个字段。日期/时间字段和首秀时区字段,用于根据计划的日期和时间向学生显示教程。它运行良好,因为我在Laravel中使用WHERE子句

// For example: 
$student_id = \Auth::user()->id;
$lessons = Lesson::where('student_id', $student_id)->where('debut_date', Carbon::now())->get();
如何使用时区字段,使其仅根据学生的时区向他们显示教程。例如,东海岸的学生可以比西海岸的学生早3个小时观看他们的课程,以此类推。在这种情况下,当我们走向全球时,亚洲的学生将能够在美国学生之前查看他们的课时,以此类推


请提供帮助?

如果您有选择,您需要根据学生的IP地址(位置-国家)或存储的时区(以db为单位)获取学生的时区。一旦你有了学生的时区,你就可以把你的查询改成这个

$student_id = auth()->id();
$student_tz = ''; // timezone based on ip or other condition.
$lessons = Lesson::where('student_id', $student_id)
    ->whereDate('debut_date', Carbon::now($student_tz))
    ->get();

您还应该使用
whereDate
而不是
where
,因为准确的比较并不完全是您所需要的。

您需要根据学生的IP地址(位置-国家)或他们存储的时区(如果您有选择的话)获取学生的时区。一旦你有了学生的时区,你就可以把你的查询改成这个

$student_id = auth()->id();
$student_tz = ''; // timezone based on ip or other condition.
$lessons = Lesson::where('student_id', $student_id)
    ->whereDate('debut_date', Carbon::now($student_tz))
    ->get();

您还应该使用
whereDate
而不是
where
,因为准确的比较并不是您所需要的。

Hi@sandesh,谢谢您的快速回复。不幸的是,我们没有为学生选择时区的字段。但是,我们确实存储学生的IP地址。Carbon有根据IP地址确定时区的功能吗?@PrinceJ从IP获取时区并不容易。您需要通过api或包使用第三方服务来处理此问题。您可以根据自己的需求四处搜索并找出最佳选项。有很多免费和付费的服务可以帮助你。嗨@Sandesh,谢谢你的快速回复。不幸的是,我们没有为学生选择时区的字段。但是,我们确实存储学生的IP地址。Carbon有根据IP地址确定时区的功能吗?@PrinceJ从IP获取时区并不容易。您需要通过api或包使用第三方服务来处理此问题。您可以根据自己的需求四处搜索并找出最佳选项。有很多免费和付费的服务可以帮助你。