小编Kam*_*tti的帖子

Yii2 Active Record JSON响应,类型转换问题

我在Yii2中面临奇怪的问题我有一个查询,其中有一个与代理表的连接和一个(一对多)作业与任务的关系它工作正常但问题是它返回字符串中的所有内容.以下是查询:

 $query = self::find()
        ->select("job.*, agent.first_name,agent.last_name")
        ->leftJoin('agent', 'job.agent_id = agent.id')
        ->with('tasks')
        ->asArray()
        ->all();
Run Code Online (Sandbox Code Playgroud)

和JSON编码结果:

{
  "success": true,
  "data": [
  {
  "id": "10",
  "customer_id": "1",
  "job_type": "normal",
  "created": "2016-06-22 10:19:25",
  "first_name": "Shayan",
  "last_name": "",
  "tasks": [
    {
      "id": "10",
      "job_id": "10",
      "title": "bring food",
      "instruction": null,
      "created": "2016-06-22 10:19:25",

    },
    {
      "id": "10",
      "job_id": "10",
      "title": "bring pizza",
      "instruction": null,
      "created": "2016-06-22 10:19:25",

    },
  ]
}
Run Code Online (Sandbox Code Playgroud)

如果你注意到像id,customer_id和job_id这样的字段,这些字段都是整数但它以字符串形式返回.但是如果我从上面的查询中删除 - > asArray()它会返回有效的类型转换,但问题是它跳过关系和leftJoin代理表字段,它只返回作业表字段,这是从上面的查询中删除 - > asArray()后的响应.

{
"success": true,
"data": [

 {
  "id": 10, …
Run Code Online (Sandbox Code Playgroud)

php json yii yii2

5
推荐指数
2
解决办法
1075
查看次数

下拉菜单隐藏在 Bootstrap 模式中

我正在使用带有几个下拉菜单的 Bootstrap 模态,因为我将overflow: autoCSS 属性设置为在模态中有一个滚动条。

问题是当我打开任何下拉菜单时,它不会出现在模态之外(由于该 CSS 属性overflow: auto),它隐藏在模态下(见图)。

我想从该模式中显示该下拉菜单,我尝试了所有方法z-index: 999999; position: absolute等,但似乎不起作用。

我用谷歌搜索,我找到的所有解决方案都是删除该overflow: auto属性并放置,overflow:visible但正如我所提到的,由于一堆下拉列表(大约 150 个),我必须放置滚动条以防止溢出,否则模态高度会使页面变得混乱。

CSS(强制)

.modal-body {
  max-height: 100px;
  overflow: auto;
} 
Run Code Online (Sandbox Code Playgroud)

简单的解决方案是你只需将它替换overflow:autovisible它就可以了,但我需要保持overflow:auto;

这是JSFiddle上的工作示例

提前致谢。

在此处输入图片说明

html css jquery twitter-bootstrap bootstrap-modal

5
推荐指数
1
解决办法
8973
查看次数

有没有办法在google API URL之外调用google initMap回调函数?

我正在使用包含 initMap 回调函数的谷歌地图 API,我需要在谷歌地图 API URL 之外调用这个函数,例如我正在使用:

<script src="https://maps.googleapis.com/maps/api/js?key=YOUR_API_KEY&libraries=places&callback=initMap"></script>
Run Code Online (Sandbox Code Playgroud)

我需要删除查询字符串的最后一部分,&callback=initMap但是当我删除谷歌地图时不起作用。

问题是我想对所有与 google api 相关的东西使用相同的 google map api,因此某些 API 没有 initMap 方法,这就是为什么我想单独调用这个方法是可能的。

javascript api google-maps

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

Angular Form 精确 10 个字母数字字母模式验证

我对反应式表单字段验证的这个特定用例有以下问题。

目前我只设置了这个规则:

this.projectForm = this.fb.group({
  .....................................................................................,
  .....................................................................................,
  .....................................................................................,
  CIG: [null, [Validators.required, Validators.minLength(10),Validators.maxLength(10)]],
Run Code Online (Sandbox Code Playgroud)

目前我正在检查插入到我的CIG表单字段中的值是否正好有 10 个字符作为长度。

我的问题是我还必须检查这是一个字母数字字符串(由 10 个字符组成)。

所以这样的事情是允许的:ABCED12345但不允许这样的事情:ABCD-12345

如何使用Validators实现这种行为?我需要使用 REGEX 或类似的东西吗?

angular-validation angular angular-reactive-forms

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

Angular orderBy pipe

我想按属性名称排序我的结果,但以下给了我一个错误:

*ngFor="let s of rslt| order by:wind_park">
Run Code Online (Sandbox Code Playgroud)

我从后端得到的:

data = [
  { turbine_name: "Baynne ", wind_park: "Bayone" },
  { turbine_name: "Salstiegl ", wind_park: "Salzst" },
  { turbine_name: "Chradurga - SLL2", wind_park: "Chiarga" },
  { turbine_name: "Moilishte ", wind_park: "Mogihte" },
  { turbine_name: "Mogshte ", wind_park: "Mogshte" }
]
Run Code Online (Sandbox Code Playgroud)

我如何订购它以及最佳做法是什么?谢谢大家。

angular

0
推荐指数
1
解决办法
3285
查看次数