小编Lea*_*ner的帖子

Magento在两个过滤的自定义集合之间加入

我有两个自定义模型(“ myorder”和“ myarticle”)。每个“ myarticle”都有一个外键“ rif_ord_app”,它指向相关的“ myorder”字段“ rif_ordine_vsp”。我需要过滤两个集合,然后使用两个字段“ rif_ord_app”和“ rif_ordine_vsp”将它们加入。

例如:

我过滤“ myorders”集合:

$collection_orders = Mage::getModel('mycomp_logistic/myorder')->getCollection()
    ->addAttributeToSelect('*')
    ->addAttributeToFilter('customer_id', array('in' => array_values($arrayCustomersId)))
    ->addAttributeToFilter('payment_done_online', array('eq' => ($filter['is_from_where'] == 'from_web')))
    ->addAttributeToFilter('pdv_ritiro_id', array('eq' => $filter['pdv_ritiro_code']))
    ->addAttributeToFilter('pdv_ordinante_id', array('eq' => $filter['pdv_ordinante_code']))
    ->addAttributeToFilter('rif_ordine_vsp', array('eq' => $filter['num_ord']))
    ->addAttributeToFilter('data_ordine', array('from' => $daydate));
Run Code Online (Sandbox Code Playgroud)

...然后我过滤“ myarticle”收藏集:

$collection_articles = Mage::getModel('mycomp_logistic/myarticle')->getCollection()
    ->addAttributeToSelect('*')
    ->addAttributeToFilter('num_bolla', array('eq' => $filter['cod_bolla']))
    ->addAttributeToFilter('sscc', array('eq' => $filter['sscc']))
    ->addAttributeToFilter('stato', array('eq' => $filter['st_art']));
Run Code Online (Sandbox Code Playgroud)

..最后...我没有设法加入这两个系列。

我尝试过这样的事情:

$tbl_order = Mage::getSingleton('core/resource')->getTableName('mycomp_logistic/myorder');
$collection_articles = $collection_articles->getSelect()->join(array('t2' => $tbl_order), 'main_table.rif_ord_app = …
Run Code Online (Sandbox Code Playgroud)

php collections filtering join magento

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

如何获取 Laravel 控制器方法的所有可能的错误消息

所以我有一个 Laravel 应用程序,它有很多控制器来处理应用程序的各个方面。

现在每个控制器都有不同的方法。大多数方法都定义了验证规则,例如:

$validationArray = [
    'id'=>'required|integer',
    'status'=>'required|string'
];
$validator = Validator::make($request->all(),$validationArray);
if ($validator->fails()){
    return Response::json(['response'=>implode(', ',$validator->messages()->all())],422);
}
Run Code Online (Sandbox Code Playgroud)

现在以下行:

return Response::json(['response'=>implode(', ',$validator->messages()->all())],422);
Run Code Online (Sandbox Code Playgroud)

实际上返回验证规则的任何错误。

我的问题是:有没有办法以编程方式获取所有可能的错误消息?

当然,一种方法是逐条规则地绕过并手动创建列表,但是有数百种方法分散在各种控制器中。

因此,如果有人能指出我以更简单的方式处理所有错误消息的方向,我将不胜感激。

先感谢您!

更新

所以为了进一步清除,我需要一个所有可能错误的列表,就像上面的代码一样:

['id is required', 'id must be an integer', 'status is required', 'status must be an string']
Run Code Online (Sandbox Code Playgroud)

更新 2

请记住,有数百种方法,而且我不想更改该方法的最终响应,而是希望拥有某种外部脚本,它可以帮助我在不干扰控制器的情况下获取错误消息。

php laravel laravel-5 error-messaging

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

Laravel - 未签名,可以为空

我正在使用Laravel 5.3,我想在表迁移中将字段定义为可空无符号.由于两者都是索引修饰符,我可以在串联中使用它们吗?喜欢:

$table->integer('some_field')->unsigned()->nullable();
Run Code Online (Sandbox Code Playgroud)

如果在laravel文档或某处进行了这些修改,还请提供一些参考.

请注意,我想将up()函数中的字段定义为无符号和可空.我不想要具有以下down()功能的解决方案:

public function up()
    {
       Schema::create('ex', function (Blueprint $table) {
            $table->integer('some_field')->unsigned();
       });
    }
public function down()
    {
        DB::statement('ALTER TABLE ex MODIFY `some_field` integer NOT NULL;');
    }
Run Code Online (Sandbox Code Playgroud)

提前致谢!

php migration laravel laravel-5

3
推荐指数
2
解决办法
9954
查看次数

将存储引擎从 MyISAM 更改为 InnoDB - 一次所有表 - 使用 phpmyadmin

我在 mysql 数据库中有 100 个表,并且都有存储引擎:MyISAM。我想一次将他们的存储引擎全部更改为 innoDB 并且我不想使用:

1.PHP (如何将 MyISAM 中的所有表转换为 InnoDB?

  1. Laravel( Laravel & InnoDB )

  2. 一次一张表。(如何在phpmyadmin中更改数据库的存储引擎?

  3. SQL 查询。(如何将表存储引擎从 MyISAM 更改为 InnoDB

  4. 通过 xampp 或类似的方式。(如何在XAMPP中设置默认存储引擎为InnoDB

所以我想改变:ALL TABLE STORAGE ENGINE AT ONCE使用phpmyadmin界面。

有什么帮助吗?

myisam innodb phpmyadmin

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

在React JS中使用功能禁用/启用提交按钮

我想使用功能禁用/启用表单提交按钮。
这是我的代码来解释我想要什么:

isDisabled = () => {
    //logic to define if button should be disabled or not
    //return boolean true or false based on that
}


render() {
    return (
        <form className="forgot-password-form">
            //form fields
            <input type="submit" value="Submit" disabled={this.isDisabled} />
        </form>
    );
}
Run Code Online (Sandbox Code Playgroud)

这只是为了展示一个想法,我想做什么:)当然,这render()将在组件和所有方面。

目前它给我警告:

警告:disabled标签上的prop的值无效。从元素中删除它,或者传递一个字符串或数字值以将其保留在DOM中。

谢谢大家的帮助。

reactjs

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

改进PHP相关数组

我有一个关联数组:

    $input = [
        ['key'=>'x', 'value'=>'a'],
        ['key'=>'x', 'value'=>'b'],
        ['key'=>'x', 'value'=>'c'],
        ['key'=>'y', 'value'=>'d'],
        ['key'=>'y', 'value'=>'e'],
        ['key'=>'z', 'value'=>'f'],
        ['key'=>'m', 'value'=>'n'],
    ];
Run Code Online (Sandbox Code Playgroud)

我想简单地改革它:

    $output = [
        'x'=>['a','b','c'],
        'y'=>['d','e'],
        'z'=>'f',
        'm'=>'n'
    ]
Run Code Online (Sandbox Code Playgroud)

所以基本上,条件是:

1. If same key found then put values in an array.
2. If no same key found then value remains string.
Run Code Online (Sandbox Code Playgroud)

如果您对对象更熟悉,可以用对象替换关联数组.

这是我解决此问题的解决方案:

    foreach($input as $in){
        if(!empty($output[$in['key']])){
            if(is_array($output[$in['key']])){
                $output[$in['key']][] = $in['value'];
                continue;
            }
            $output[$in['key']] = [$output[$in['key']],$in['value']];
            continue;
        }
        $output[$in['key']] = $in['value'];
    }
    print_r($output);
Run Code Online (Sandbox Code Playgroud)

但是我相信它可以以非常紧凑和有效的方式完成.如果有人有更好的解决方案,请评论您的答案 非常感谢您的帮助!

php arrays

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