假设我有一个module(./my-module.js),它有一个应该是其返回值的对象:
let values = { a: 1, b: 2, c: 3 }
// "export values" results in SyntaxError: Unexpected token
Run Code Online (Sandbox Code Playgroud)
所以我可以导入它们:
import {a} from './my-module' // a === 1
import * as myModule from './my-module' // myModule.a === 1
Run Code Online (Sandbox Code Playgroud)
我发现的唯一方法是硬编码出口:
export let a = values.a
export let b = values.b
export let c = values.c
// or:
export let {a, b, c} = values
Run Code Online (Sandbox Code Playgroud)
哪个不是动态的.
是否可以从对象中导出所有值?
我注意到我的Laravel API没有将实体标识符(主键)作为整数返回.
在Api\PostController.php :: show()中:
function index()
{
$posts = Post::all();
return $posts;
}
Run Code Online (Sandbox Code Playgroud)
返回的内容如下:
[{
"id": "1",
"title": "Post one",
...
},{
"id": "2",
"title": "Post two",
...
}]
Run Code Online (Sandbox Code Playgroud)
这会弄乱我的表排序(因为ID将被排序为字符串:1,10,11,2等).
转储实体本身也表明该id属性是一个字符串.
如前所述这里可能的原因是,MySQL驱动程序不会在适当类型的返回值.
我在Ubuntu 14.04服务器上使用HHVM 3.3.1.有什么方法可以使用本机MySQL库(如php5-mysqlnd)用于HHVM吗?
我可以使用Laravel模型访问器来解决问题.但这更像是一个黑客IMO.
请帮忙!
参考文献:
编辑:我已经确认它不是Laravel的ORM层.PDO实例已将ID作为字符串返回.
有没有办法检查输入流(os.Stdin)是否有数据?
从GO的初始stdin读取帖子?显示了如何读取数据,但不幸的是,如果没有数据通过管道输入stdin,则会阻塞.
我有一个名为的特征Multilingual,它使用模型及其lang属性translation_of(另请参阅/sf/answers/510984421/)来提供实体的多种翻译。
现在我想在调用translation_of时从模型中隐藏该字段$model->toArray(),这是最容易的通过将其添加到$hidden属性中来完成的。像这样:
class Model {
use Multilingual;
protected $hidden = ['translation_of'];
}
Run Code Online (Sandbox Code Playgroud)
但为了保持原始模型干净,我想通过使用的特征添加隐藏字段。
我努力了:
添加protected $hidden = ['translation_of'];到特征中,这是不允许的:Undefined: trait declaration of property 'hidden' is incompatible with previous declaration
而且扩展性也不是很好(我认为它将被$hidden类的属性覆盖......)
向特征添加启动方法:
static function bootMultilingual() {
static::$hidden[] = 'translation_of';
}
Run Code Online (Sandbox Code Playgroud)
由于范围的原因,这(正如我怀疑的那样)也是不允许的。
有什么干净的方法来做到这一点的想法吗?
请帮忙!
注意:为了保持动态,我认为可以通过两种方式完成:
$this->hidden[] = 'translation_of';$model->setHidden(array_merge($model->getHidden(), ['translation_of']));