小编mau*_*uvm的帖子

ES6从对象导出所有值

假设我有一个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)

哪个不是动态的.

是否可以从对象中导出所有值?

module export ecmascript-6

94
推荐指数
7
解决办法
8万
查看次数

如何使HHVM的MySQL驱动程序返回ID作为整数?

我注意到我的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作为字符串返回.

php mysql ubuntu laravel hhvm

11
推荐指数
1
解决办法
672
查看次数

确定Stdin是否包含Go数据

有没有办法检查输入流(os.Stdin)是否有数据?

从GO的初始stdin读取帖子显示了如何读取数据,但不幸的是,如果没有数据通过管道输入stdin,则会阻塞.

stdin pipe go

7
推荐指数
2
解决办法
1506
查看次数

如何在 Trait 中配置 Laravel 模型属性?

我有一个名为的特征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)

但为了保持原始模型干净,我想通过使用的特征添加隐藏字段。

我努力了:

  1. 添加protected $hidden = ['translation_of'];到特征中,这是不允许的:Undefined: trait declaration of property 'hidden' is incompatible with previous declaration

    而且扩展性也不是很好(我认为它将被$hidden类的属性覆盖......)

  2. 向特征添加启动方法:

    static function bootMultilingual() {
        static::$hidden[] = 'translation_of';
    }
    
    Run Code Online (Sandbox Code Playgroud)

    由于范围的原因,这(正如我怀疑的那样)也是不允许的。

有什么干净的方法来做到这一点的想法吗?

请帮忙!


注意:为了保持动态,我认为可以通过两种方式完成:

  1. 内部:$this->hidden[] = 'translation_of';
  2. 外部:$model->setHidden(array_merge($model->getHidden(), ['translation_of']));

attributes model traits laravel eloquent

3
推荐指数
1
解决办法
3830
查看次数

标签 统计

laravel ×2

attributes ×1

ecmascript-6 ×1

eloquent ×1

export ×1

go ×1

hhvm ×1

model ×1

module ×1

mysql ×1

php ×1

pipe ×1

stdin ×1

traits ×1

ubuntu ×1