doushang1964 2015-10-31 22:04
浏览 70

Laravel多对多关系用户的转变

I'm trying to get the users that are on today's shift. I have a many to many relationship between the User and Shift model with a pivot table called user_shifts.

My User model:

/**
 * Get the users shifts
 */
public function shift()
{
    return $this->belongsToMany('App\Shift', 'user_shifts', 'user_id', 'shift_id');
}

My Shift model

/**
 * The shift can have many users
 */
public function users()
{
    return $this->belongsToMany('App\User', 'user_shifts', 'shift_id', 'user_id')->withPivot('start_time', 'end_time');;
}

In my controller I thought I could do something like:

$shift = Shift::all()->where('date', date('Y-m-d'));

$users = User::all()->where('shift_id', $shift);

return $users;

But that is returning null. Any help would be appreciated!

If it matters my db schema is:

Schema::create('shifts', function (Blueprint $table) {
    $table->increments('id');
    $table->date('date');
    $table->boolean('weekend');
});

Schema::create('user_shifts', function (Blueprint $table) {
    $table->increments('id');
    $table->integer('shift_id');
    $table->integer('user_id');
    $table->time('start_time');
    $table->time('end_time');
});

Schema::create('users', function (Blueprint $table) {
    $table->increments('id');
    $table->string('fname');
    $table->string('lname');
    $table->string('email')->unique();
    $table->string('password', 60);
    $table->rememberToken();
    $table->timestamps();
});
  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥20 完全没有学习过GAN,看了CSDN的一篇文章,里面有代码但是完全不知道如何操作
    • ¥15 使用ue5插件narrative时如何切换关卡也保存叙事任务记录
    • ¥20 软件测试决策法疑问求解答
    • ¥15 win11 23H2删除推荐的项目,支持注册表等
    • ¥15 matlab 用yalmip搭建模型,cplex求解,线性化处理的方法
    • ¥15 qt6.6.3 基于百度云的语音识别 不会改
    • ¥15 关于#目标检测#的问题:大概就是类似后台自动检测某下架商品的库存,在他监测到该商品上架并且可以购买的瞬间点击立即购买下单
    • ¥15 神经网络怎么把隐含层变量融合到损失函数中?
    • ¥15 lingo18勾选global solver求解使用的算法
    • ¥15 全部备份安卓app数据包括密码,可以复制到另一手机上运行