小编old*_*ard的帖子

如何在findAll中使用'IN(1,2,3)'?

我需要从数据库中获取几个学生,并将其主键放在以逗号分隔的字符串中.

通常使用SQL会是这样的:

$cleanedStudentIdStringList = "1,2,3,4";
SELECT * FROM Student WHERE id IN ($cleanedStudentIdStringList)
Run Code Online (Sandbox Code Playgroud)

Yii的ActiveRecord似乎在生成的SQL语句中围绕绑定参数插入单引号,这会导致查询在使用参数绑定时失败.

这有效,但不使用安全参数绑定.

$students = Student::model()->findAll("id IN ({$_POST['studentIds']})");
Run Code Online (Sandbox Code Playgroud)

有没有办法仍然使用参数绑定并在单个查询中只获取几行?

activerecord yii

19
推荐指数
2
解决办法
2万
查看次数

在 try/catch 块中等待两个承诺会导致“未处理的承诺拒绝”

我想等待两个并行运行的承诺。我不想连续等待每个承诺(这有效但速度较慢)。

出于这个原因,我认为我可以首先创建两个承诺来让它们滚动,比如说两个网络请求,然后等待它们并能够在 catch 块中捕获错误。这个假设似乎是不正确的,因为我在运行此示例代码时收到警告。

  • 这是为什么?
  • 如何最好地并行运行两个或多个网络请求,否则使用优雅的代码?
  • 为什么 Typescript 没有警告我 catch 块不会捕获拒绝?
async function testMultipleAwait() {
  try {
    const aPromise = new Promise((resolve) => {
      setTimeout(() => resolve('a'), 200);
    });

    const bPromise = new Promise((_, reject) => {
      setTimeout(() => reject('b'), 100);
    });

    const a = await aPromise;
    const b = await bPromise;
  } catch (e) {
    console.log('Caught error', e);
  }
}

testMultipleAwait();
Run Code Online (Sandbox Code Playgroud)

不会导致“捕获错误”输出,而是我得到

tsc test-try-catch-await.ts && node test-try-catch-await.js

(node:31755) UnhandledPromiseRejectionWarning: b
(node:31755) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either …
Run Code Online (Sandbox Code Playgroud)

node.js async-await typescript

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

MVC 5脚手架可以不为许多关系添加选择列表吗?(使用实体框架添加支架 - 带视图的MVC 5控制器)

我希望能够使用Visual Studio 2013中的"添加 - 脚手架"为与另一个模型有许多关系的模型添加CRUD.不幸的是,脚手架视图/控制器根本不触及关系,在创建/编辑视图中不呈现SelectList.

尽管如此,脚手架适用于一对多的关系.多对多是一个未在Scaffold工具中实现的功能,还是我做错了什么?

我正在使用Fluent API.

这些是我的模型(为了便于阅读而剥离)

public class Category
{
    public int Id { get; set; }
    public virtual ICollection<Country> Countries { get; set; }
}

public class Country
{
    public string Iso { get; set; }

    public string GlobalName { get; set; }
    public string LocalName { get; set; }

    public virtual ICollection<Category> Categories { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

这些是Fluent API配置类

public class CategoryConfiguration: EntityTypeConfiguration<Category>
{
    public CategoryConfiguration()
    {
        HasKey(c => new { c.Id …
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc entity-framework asp.net-mvc-5

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

为ListView设置setOnKeyListener

我一直试图设置一个OnKeyListener,但我不知道我怎样才能在所选行ListViewView.OnKeyListener.该v参数总是给我的ListView,而不是选定行.知道如何解决这个问题吗?谢谢.

listView.setOnKeyListener(new OnKeyListener() {

    public boolean onKey(View v, int keyCode, KeyEvent event) {
        //....
    }

}
Run Code Online (Sandbox Code Playgroud)

android

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