我有下面的gulp任务和每次运行此任务(在browsersync之前)我想更改一个文件的最后修改时间(该文件没有任何变化,我只需要更改上次修改的时间 - 替代shell"touch"命令).有人可以告诉我,最简单的方法是什么?谢谢!
gulp.task('sass', function() {
return sass(pkg.sass.dir, {sourcemap: true, precision: 10})
.on('error', function (err) {
onError(err);
})
.pipe(autoprefixer({
browsers: ['last 2 version', 'safari 5', 'ie 8', 'ie 9', 'opera 12.1', 'ios 6', 'android 4'],
cascade: true
}))
.pipe(gulp.dest(pkg.css.dir))
.pipe(browsersync.reload({stream:true}));
});
Run Code Online (Sandbox Code Playgroud) 在我的 Laravel 应用程序中,我有三个数据库表,分别称为用户、项目和角色。它们之间存在 m:n 关系,因此我还有名为 project_user_role 的数据透视表。数据透视表包含 user_id、project_id 和 role_id 列。请参阅 MySQL Workbench 的屏幕截图。
我的用户、项目和角色模型定义了belongsToMany关系,如下所示:
//User model example
public function projects()
{
return $this->belongsToMany('App\Library\Models\Project', 'project_user_role')->withPivot(['user_id','role_id']);
}
Run Code Online (Sandbox Code Playgroud)
现在我可以轻松获取经过身份验证的用户的项目,如下所示:
$user = Auth::user();
$projects = $user->projects;
Run Code Online (Sandbox Code Playgroud)
响应看起来像这样:
[
{
"id": 1,
"name": "Test project",
"user_id": 1,
"created_at": "2018-05-01 01:02:03",
"updated_at": "2018-05-01 01:02:03",
"pivot": {
"user_id": 2,
"project_id": 17,
"role_id": 1
}
},
]
Run Code Online (Sandbox Code Playgroud)
但我想将有关用户角色的信息“注入”到响应中,例如:
[
{
"id": 1,
"name": "Test project",
"user_id": 1,
"created_at": "2018-05-01 01:02:03",
"updated_at": "2018-05-01 01:02:03",
"pivot": {
"user_id": 2, …Run Code Online (Sandbox Code Playgroud)