我有两个自定义模型(“ 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) 所以我有一个 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)
请记住,有数百种方法,而且我不想更改该方法的最终响应,而是希望拥有某种外部脚本,它可以帮助我在不干扰控制器的情况下获取错误消息。
我正在使用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)
提前致谢!
我在 mysql 数据库中有 100 个表,并且都有存储引擎:MyISAM。我想一次将他们的存储引擎全部更改为 innoDB 并且我不想使用:
1.PHP (如何将 MyISAM 中的所有表转换为 InnoDB?
Laravel( Laravel & InnoDB )
一次一张表。(如何在phpmyadmin中更改数据库的存储引擎?)
SQL 查询。(如何将表存储引擎从 MyISAM 更改为 InnoDB)
通过 xampp 或类似的方式。(如何在XAMPP中设置默认存储引擎为InnoDB)
所以我想改变:ALL TABLE STORAGE ENGINE AT ONCE并使用phpmyadmin界面。
有什么帮助吗?
我想使用功能禁用/启用表单提交按钮。
这是我的代码来解释我想要什么:
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中。
谢谢大家的帮助。
我有一个关联数组:
$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)
但是我相信它可以以非常紧凑和有效的方式完成.如果有人有更好的解决方案,请评论您的答案 非常感谢您的帮助!