我有一个普通的单个文件组件,该组件同时具有计算属性和一些方法:
<template>...</template>
<script>
...
export default {
props: ['matches'],
data: function() {...} // No problem with these
computed: {
formattedMatches: function () {
let formatted = [];
this.matches.forEach(function($match, $i, $arr) {
formatted[$i] = $match[0];
};
});
return formatted;
}
...
methods: {
getData: function() {
return this.formattedMatches();
},
...
}
}
<script>
Run Code Online (Sandbox Code Playgroud)
当我尝试this.formattedMatches()
从该方法访问时,出现错误消息[Vue warn]: Error in render: "TypeError: this.formattedMatches is not a function"
。
实现我想要的正确方法是什么?提前致谢。
最近,我一直试图通过Model Factories和Faker使用Laravel播种来播种我的数据库.
对于简单的模式,让它工作变得轻而易举:).但是,在处理涉及外键和表关系的复杂数据库模式时,我遇到了一些问题:
...就像链接中描述的那样: 模型工厂中的Laravel 5.1外键.
在本主题中,官方文档建议运行如下数据库种子:
public function run()
{
factory(App\User::class, 50)->create()->each(function ($u) {
$u->posts()->save(factory(App\Post::class)->make());
});
}
Run Code Online (Sandbox Code Playgroud)
...但是这个解决方案存在一个问题:当处理许多数据库表并运行许多种子(它们之间有许多关系)时,使用这种方法创建许多不必要的模型是很常见的.例如,如果我们在上面的示例之前运行了PostsTableSeeder.php,那么所有这些帖子都不会链接到用户,并且永远不会用于测试和开发......
为了找到处理这种情况的方法,我找到了一个适合我的功能解决方案,避免了那些'孤儿'模型的不必要的创建......
我想与大家分享,所以在答案中只是解释:).
我已经为Laravel 5.3 设置了Laravel Passport包,正如官方文档(https://laravel.com/docs/5.3/passport#introduction)中所述.
我希望API由移动应用程序使用,因此我尝试实现密码授予令牌.我创建了一个密码授予客户端,以及令牌请求进程......
$response = $http->post('http://my-app.com/oauth/token', [
'form_params' => [
'grant_type' => 'password',
'client_id' => 'client-id',
'client_secret' => 'client-secret',
'username' => 'my@email.com',
'password' => 'my-password',
'scope' => '',
],
]);
Run Code Online (Sandbox Code Playgroud)
...按预期工作,为我的一个用户返回访问令牌和刷新令牌.
但是现在我想定义一些范围,以便限制用户的访问权限......再次按照文档,我在AuthServiceProvider.php的启动方法中定义它们,如:
Passport::tokensCan([
'admin' => 'Perform every action',
'user' => 'Perform only normal user actions',
]);
Run Code Online (Sandbox Code Playgroud)
在这种情况下,如果"恶意"普通用户请求一个令牌(使用上面的POST调用)指定'scope' => 'admin'
,他或她将获得一个"管理员"令牌......这不是我想要的.
因此,我想知道在这种情况下工作流如何有效地限制对普通用户的访问,以及我在哪里实现范围验证逻辑.
提前致谢.
我在 DigitalOcean 液滴中使用 Laravel Forge。我需要向我的一个客户端授予对服务器上特定目录的 SFTP 访问权限。他只需要对该目录进行读/写访问,而我在设置方面遇到了问题。
我已经按照https://bensmann.no/restrict-sftp-users-to-home-folder/ 中的步骤操作,但我被卡住了,因为 Forge 不允许密码身份验证,只能通过公共/私有 SSH 密钥...
有人做过类似的事情吗?完成它的最佳方法是什么?
提前谢谢了。
前端和后端两种不同的技术,到目前为止都很好。
问题(反过来,这是最常见的情况)是前端和后端都必须从同一域(或服务器/文件结构)提供服务。
使两个项目共存于同一服务器的最佳方法是什么?
编辑:这里的主要问题是,由于 create-react-app 堆栈,Laravel Mix 和任何 Laravel 前端功能都无法使用。它所施加的规则使得在不首先弹出应用程序的情况下进行集成变得非常困难,从维护的角度来看,这是不推荐的。
一个简单而直接的:
以 Laravel 方式使用 Laravel hasManyThrough关系时,如何附加或分离新记录?从这里的文档中,模型检索是显而易见的。
编辑:换句话说,是否有一种Laravelish 方式可以更智能地执行以下操作(模型名称取自文档)?
$user = $country->users()->first;
$post->user_id = $user->id;
$post->save();
Run Code Online (Sandbox Code Playgroud)
提前致谢。
我有一个像这样的Eloquent Collection(倾销):
Collection {#788 ?
#items: array:3 [?
0 => Rating {#787 ?
#table: "ratings"
+timestamps: false
#connection: null
#primaryKey: "id"
#keyType: "int"
#perPage: 15
+incrementing: true
#attributes: array:3 [?
"id" => 1
"rating" => "50"
"type" => "min"
]
#original: array:3 [?]
#relations: []
#hidden: []
#visible: []
#appends: []
#fillable: []
#guarded: array:1 [?]
#dates: []
#dateFormat: null
#casts: []
#touches: []
#observables: []
#with: []
#morphClass: null
+exists: true
+wasRecentlyCreated: false
}
1 => Rating {#786 ?} …
Run Code Online (Sandbox Code Playgroud) 只是想知道如何在我的React App中将我所有的API调用归为一个api.js文件(只需一些伪代码即可)。我读了一篇有趣的文章,介绍了这个想法,我很好奇,因为该文件结构确实符合我的需求。会怎么样 此外,作者在评论中指出:
我通常只是将所有API调用都放入该文件中-它们通常是一小两行的函数,可以调用axios,而我只是将它们导出。
导出函数登录名(用户名,密码){...}导出函数getFolders(){...}等
但是我觉得它缺少复制它的细节。我是Java和React的新手。谢谢。
我已经为Laravel 5.3 设置了Laravel Passport包,正如官方文档(https://laravel.com/docs/5.3/passport#introduction)中所述.
我希望API由移动应用程序使用,因此我尝试实现密码授予令牌.我创建了一个密码授予客户端,以及令牌请求进程......
$response = $http->post('http://my-app.com/oauth/token', [
'form_params' => [
'grant_type' => 'password',
'client_id' => 'client-id',
'client_secret' => 'client-secret',
'username' => 'my@email.com',
'password' => 'my-password',
'scope' => '',
],
]);
Run Code Online (Sandbox Code Playgroud)
...按预期工作,为我的一个用户返回访问令牌和刷新令牌.
一方面,
php artisan route:list
Run Code Online (Sandbox Code Playgroud)
列出api/user URI的正确中间件:api,auth:api
api guard的驱动程序在config/auth.php中正确设置为passport.总而言之,安装过程的每一步都已完成(https://laravel.com/docs/5.3/passport#installation).
默认api.php的内容:
Route::get('/user', function (Request $request) {
return $request->user();
})->middleware('auth:api');
Run Code Online (Sandbox Code Playgroud)
当我访问http://my-app.com/api/user时出现问题,因为它似乎是使用'web'中间件验证请求,而不是'api'...当我访问时,我是如果用户未登录,则重定向到/ login(登录表单),如果是,则重定向到/ home(登录表单)
任何帮助将非常感激.提前致谢.
我很简单:
我有一个Javascript对象,其中一些属性的值是数组,具有以下结构:
let obj = {emails: ["xxx@yyy.com", "qqq@www.com"], nickname: ["asdf"],...}
Run Code Online (Sandbox Code Playgroud)
我需要获得一个只包含值的数组数组,如下所示:
let obj2 = [["xxx@yyy.com"], ["qqq@www.com"], ["asdf"],...]
Run Code Online (Sandbox Code Playgroud)
有了Object.values(obj)
,我得到的[["xxx@yyy.com", "qqq@www.com"], ["asdf"],...]
,这不正是我期待的,但它是一个很好的起点......
另外,如果可能的话,我正在寻找单行代码.有任何想法吗?谢谢.
如何使用jQuery选择器选择除最后3 个表之外的所有表的行?提前致谢.
只是一个简单的问题:我有一条通知消息,该消息在网页(使用jQuery show()
或hide()
)中是可见的还是不可见的,始终位于同一位置。我面临的问题是,当它出现时,它会将其下面的所有内容向下拖动,只是高度。
如何巧妙地处理这种情况,以保留(空白或空白)区域,以便当此组件消失/出现时UI不会更改其高度?
也许是一个明显的,但我有一个像这样的Vue单文件组件:
<template>
...
</template>
<script>
export default {
props: [ 'matches', 'results' ],
computed: {
formattedMatches: function () {
let rows = [];
this.matches.forEach(function($match, $i) {
rows[$i] = {
id: $i + 1,
title: $match[0] + ' ' + $match[1]
};
});
return rows;
},
formattedResults: function () {
let rows = [];
this.results.forEach(function($resultRow, $i) {
rows[$i] = {
id: $i + 1,
title: this.formattedMatches[$i]
// Error in render: "TypeError: Cannot read property 'formattedMatches' of undefined"
};
}); …
Run Code Online (Sandbox Code Playgroud)