小编mmm*_*mmm的帖子

Doctrine DBAL 2:fetchAll()不必要的数组维度

在我执行这样的查询时,在doctrine DBAL2中:

<?php
$connection = $this->getDatabaseConnection();

$sql =  "SELECT page_url
           FROM cms_user_page
          WHERE site_id = :siteid
            AND active = '1'
    ";

$stmt = $connection->prepare($sql);
$stmt->bindValue("siteid", $id);
$stmt->execute(); 

return $stmt->fetchAll();
?>
Run Code Online (Sandbox Code Playgroud)

我得到这样的结果:

Array
(
    [0] => Array
        (
            [page_url] => index.php?action=login
        )

    [1] => Array
        (
            [page_url] => index.php?action=shoppingcart
        )

    [2] => Array
        (
            [page_url] => index.php?action=products
        )
)
Run Code Online (Sandbox Code Playgroud)

我的问题是,是否有一个获取模式,产生这样的结果:

Array
(
    [0] => index.php?action=login

    [1] => index.php?action=shoppingcart

    [2] => index.php?action=products
)
Run Code Online (Sandbox Code Playgroud)

我在文档中找不到有关获取模式的任何信息.我可以做一个数组地图.但在我看来这是开销.

php pdo doctrine-orm dbal

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

原则2:数据库中生成的实体没有名称空间

我正在通过\Doctrine\ORM\Tools\DisconnectedClassMetadataFactory()类创建数据库中的实体.这很完美!命名空间生成除外.没有生成名称空间.我正在存储我的实体App/Model/Entities.

有谁知道如何让生成器向实体添加命名空间?

这是我用来生成实体的代码:

<?php
$em->getConfiguration()->setMetadataDriverImpl(
    new \Doctrine\ORM\Mapping\Driver\DatabaseDriver(
        $em->getConnection()->getSchemaManager()
    )
);

$cmf = new \Doctrine\ORM\Tools\DisconnectedClassMetadataFactory();
$cmf->setEntityManager($em);
$metadata = $cmf->getAllMetadata();

// GENERATE PHP ENTITIES!
$entityGenerator = new \Doctrine\ORM\Tools\EntityGenerator(); 
$entityGenerator->setGenerateAnnotations(true); 
$entityGenerator->setGenerateStubMethods(true); 
$entityGenerator->setRegenerateEntityIfExists(false); 
$entityGenerator->setUpdateEntityIfExists(true); 
$entityGenerator->generate($metadata, __dir__. '/Model/Entities");
Run Code Online (Sandbox Code Playgroud)

php doctrine doctrine-orm

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

为什么必须使用匿名函数包装回调?

我的html包含两个相互重叠的表单,一个用作添加表单,另一个用作编辑表单.我用jQuery用以下代码显示和隐藏它们:

var editForm = $("#edit-form");
var addForm = $("#add-form");

var showEditForm = function() {
    editForm.fadeIn(function() {
        addForm.fadeOut();
    });
};
var showAddForm = function() {
    editForm.fadeOut(function() {
        addForm.fadeIn();
    });
};
Run Code Online (Sandbox Code Playgroud)

我想让代码更紧凑,所以我通过这样做fadeOut()直接在fadeOut()回调上设置调用:

var showEditForm = function() {
    editForm.fadeIn(addForm.fadeOut);
};
var showAddForm = function() {
    editForm.fadeOut(addForm.fadeIn);
};
Run Code Online (Sandbox Code Playgroud)

但这会产生以下错误,Uncaught TypeError: Failed to execute 'animate' on 'Element': Valid arities are: [1], but 4 arguments provided.但为什么不起作用?

javascript jquery callback fadeout fadein

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

C#使用.ToList()将IEnumerable转换为IList?

我正在使用一个返回a的外部库IEnumerable.在我收到它们之后,我想在最后添加一些模型.只有在使用IList或其他一些集合时才有可能.因此,当我尝试IEnumerable使用该.ToList()方法将其转换为列表时,它返回一个IEnumerable.那不是我的预期?我使用.ToList()正确吗?或者还有什么能解决我的问题?

这是我到目前为止的代码:

IList<Models.Browser.Language> languages = GetLanguages(dateDrom, dateTo).ToList();
IList<Models.Browser.Language> primaryItems = languages.Take(10);
Run Code Online (Sandbox Code Playgroud)

最后一行产生错误说: Cannot implicitly convert type 'System.Collections.Generic.IEnumerable<Bogus.Models.Browser.Language>' to 'System.Collections.Generic.IList<Bogus.Models.Browser.Language>'. An explicit conversion exists (are you missing a cast?)

提前致谢!

.net c# ienumerable ilist

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

标签 统计

doctrine-orm ×2

php ×2

.net ×1

c# ×1

callback ×1

dbal ×1

doctrine ×1

fadein ×1

fadeout ×1

ienumerable ×1

ilist ×1

javascript ×1

jquery ×1

pdo ×1