Clé*_*igo 6 datepicker laravel eloquent laravel-5
我的视图中有一个日期选择器日历,基本上我需要将所选日期(我在ajax中发送)与BoxDeliveryDate模型(只有一个名为"date"的列)同步.
所以在我的控制器中,我能够编写一个非常好的方法来创建一个新记录,如果所选日期尚未存储在数据库中,如下所示:
foreach (Request::get('dates') as $date) {
$date_formated = date('Y-m-d', strtotime($date));
BoxDeliveryDate::firstOrCreate(['date'=>$date_formated]);
}
Run Code Online (Sandbox Code Playgroud)
现在,如果用户在日期选择器中取消选择一个日期,稍后再进行同步,我需要从数据库中删除它.
在Laravel有一个很好的方法吗?换句话说,要删除不在我的表中的每条记录Request::get('dates')?
此外,我搜索了一种简单的方法,只用一种方法同步一切,但找不到任何东西.
谢谢你的帮助!
luk*_*ter 12
你可以用whereNotIn()它:
BoxDeliveryDate::whereNotIn('date', Request::get('dates'))->delete();
Run Code Online (Sandbox Code Playgroud)
请注意,这不会触发任何模型事件,也不会与软删除一起使用.此外,根据dates您的格式,您可能必须格式化数组,然后再将其传递给whereNotIn().
我也相信它应该是,Request::input('dates')但实际上两者都有可能......
| 归档时间: |
|
| 查看次数: |
5536 次 |
| 最近记录: |