小编Dan*_*ves的帖子

调度方法

我正在为家庭护理公司开发一个PHP应用程序.他们每周安排x个护理人员参加x个服务用户(客户)的住宿.每个服务用户都有一个"访问时间"的集合"时间表",其中包括时段加上访问持续时间(以分钟为单位).

例如,服务用户可以具有以下计划.

      AM   Lunch   Tea   Late   Night   Respite
Mon   30m  -       30m   60m    -       -
Tue   30m  -       -     60m    -       -
Wed   20m  25m     30m   60m    120m    -
Thu   -    -       30m   -      -       -
Fri   30m  25m     -     -      -       -
Sat   -    -       -     -      -       -
Sun   20m  25m     -     -      -       -
Run Code Online (Sandbox Code Playgroud)

这些期间当前以以下格式存储在数据库中:

Table: Service_user_schedules
id   service_user_id   day   period   duration
Run Code Online (Sandbox Code Playgroud)

护理人员每周都会填写一份表格,列出他们可以工作的时间.然后将此数据输入系统并以下列格式存储在数据库中:

Table: Carer_available_shifts
id   carer_id   day   period
Run Code Online (Sandbox Code Playgroud)

现在问题是,我需要创建一个控制器来获取这些数据,并根据他们提供的可用性自动将护理者分配给服务用户.这需要是可编辑的,以便在没有人可用于特定护理者的情况下,用户可以选择一个不可用的,并且它们仍将被添加到数据库中.

目前,我有一堆乱七八糟的循环,函数和回声来检查护理人员是否可用于特定服务用户并使其可编辑.

有没有人之前执行过这种任务,如果有的话,你找到了一种简单的方法来完成它.我宁愿让它面向对象,所以我可以重用相同的泛型类,但此刻,我完全失去了!

编辑:我现在已经为这个问题增加了一笔赏金.我目前正在研究遗传算法(我从来没有听说过,更不用说了!)作为基于一些答案的这个问题的解决方案.我想知道你们是否有人使用其他方法来解决这类问题,或者你们是否使用过遗传算法,你能否就如何将它们应用于这一特定问题提供一般性的解释.

我认为这个障碍在许多"人员配备"类型的应用程序中相当普遍,并且对网上任何地方的讨论很少感到惊讶!

UPDATE

对于这个特定的项目,我想我最终可能会使用Tak所描述的数据库方法,但如果我有更多的开发时间,将来可能转换为使用GA.

我现在对于将赏金奖励给谁感到有点失落.duedl0r在他(或她)的回答中付出了很多努力.它让我对遗传算法的世界有了深刻的了解 …

php time codeigniter scheduling date

13
推荐指数
1
解决办法
1836
查看次数

从Facebook Graph API获取第三方帖子

我正在为客户端整理Facebook标签应用程序,该应用程序从Facebook页面获取和显示帖子.该应用程序还提供了向页面添加新帖子和评论现有帖子的功能.这是使用Facebook Graph API(通过PHP SDK)实现的.

我有一切正常,但遇到了涉及从我的应用程序发布的问题.当用户提交帖子时,会通过以下请求将其发送到Graph API.

$facebook->api([PAGE_ID]/feed', 'POST', array(
    'message' => [MESSAGE]
));
Run Code Online (Sandbox Code Playgroud)

此请求成功,帖子显示在相关的Facebook页面上,其下方有"通过我的应用名称".

当我通过API请求页面上的帖子列表(请求如下)时,上述帖子不会出现.

$posts = $facebook->api([PAGE_ID].'/feed');
Run Code Online (Sandbox Code Playgroud)

我有一种强烈的感觉,这是因为帖子来自第三方应用程序.我听说Facebook"降级"第三方帖子以鼓励使用自己的平台.所有直接通过Facebook发布的帖子都会出现.

但是,必须有一种方法来检索这类帖子.

Fisch更新如下

当我将帖子发布到API时,会返回以下帖子ID:

112706495458566_468411663221379
Run Code Online (Sandbox Code Playgroud)

但是,当我为它发出API请求时:

$facebook->api('112706495458566_468411663221379');
Run Code Online (Sandbox Code Playgroud)

我收到以下回复:

{
    "error": {
        "message": "Unsupported get request.",
        "type": "GraphMethodException",
        "code": 100
    }
}
Run Code Online (Sandbox Code Playgroud)

但是,当我发出相同的请求但是已经包含在/ feed请求中的帖子的ID时.

$facebook->api('112706495458566_457890310940181');
Run Code Online (Sandbox Code Playgroud)

我收到以下回复.

{
    "id": "112706495458566_457890310940181",
    "from": {
        "category": "Local business",
        "name": "Genting Casino Southport",
        "id": "112706495458566"
    },
    "story": "\"Very well done to ste,...\" on their own status.",
    "privacy": {
        "value": ""
    },
    "type": "status",
    "application": {
        "name": "Mobile",
        "id": …
Run Code Online (Sandbox Code Playgroud)

php facebook facebook-graph-api facebook-php-sdk

13
推荐指数
2
解决办法
2787
查看次数

Gem构建"目标'的配方'stemmer.so'失败了"

从gem使用安装Jekyll时gem install jekyll,我收到以下构建错误.我在Windows 7上使用Cygwin,并posix-spawn在安装之前从源代码构建了gem.

Building native extensions.  This could take a while...
ERROR:  Error installing jekyll-1.1.2.gem:
        ERROR: Failed to build gem native extension.

    /usr/bin/ruby.exe extconf.rb
creating Makefile

make
gcc -I. -I/usr/include/ruby-1.9.1/x86_64-cygwin -I/usr/include/ruby-1.9.1/ruby/backward -I/usr/include/ruby-1.9.1 -I.   -ggdb -O2 -pipe   -fno-strict-aliasing   -o porter.o -c porter.c
gcc -I. -I/usr/include/ruby-1.9.1/x86_64-cygwin -I/usr/include/ruby-1.9.1/ruby/backward -I/usr/include/ruby-1.9.1 -I.   -ggdb -O2 -pipe   -fno-strict-aliasing   -o porter_wrap.o -c porter_wrap.c
rm -f stemmer.so
gcc -shared -o stemmer.so porter.o porter_wrap.o -L. -L/usr/lib -L.  -Wl,--export-all-symbols -Wl,--enable-auto-image-base,--enable-auto-import    -lruby191  -lpthread -lrt -ldl -lcrypt
/usr/lib/gcc/x86_64-pc-cygwin/4.8.1/../../../../x86_64-pc-cygwin/bin/ld: …
Run Code Online (Sandbox Code Playgroud)

ruby gem cygwin jekyll

4
推荐指数
1
解决办法
1128
查看次数