在如此多的网站上,他们教授如何使用范围查询从Elasticsearch查询数据.我想使用像这样的Lucene样式查询字符串从Elasticsearch查询小于或等于某个数字的数据.
fieldname:[* TO 100]
Run Code Online (Sandbox Code Playgroud)
要么
fieldname:["*" TO "100"]
Run Code Online (Sandbox Code Playgroud)
我尝试过其他格式,但没有一种有效.有人能帮我吗?
我一直在尝试在互联网上搜索如何在Yii框架2.0中编写代码,以便用户可以使用存储在数据库中的凭据登录,而不是从数组中登录,前缀为models/User.php.我知道如何在Yii 1中做到这一点.但是在Yii 2.0中,我真的不知道该怎么做.由于Yii 2.0还没有发布(只有测试版可用),我在互联网上找不到很多关于使用数据库登录的Yii 2.0教程.
我正在使用Yii Framework 2.0.我有一个带有文本输入字段的表单,用于表示日期.我已经阅读了有关类yii\validators\Validator的Yii Framework 2.0 以及已知的所有验证器密钥,这些密钥可以在模型类的rules()方法中使用.当我使用如下的日期键时,它不会验证任何内容.这意味着我仍然可以在该输入字段中放置一些文本并可以发布表单.
当我将其更改为布尔值或电子邮件时,我可以看到,当我在输入字段中输入错误时,它会很好地验证.如何使用Yii Framework 2.0验证输入字段内的日期值?
我的rules()方法:
public function rules()
{
return [
[['inputfield_date'], 'required'],
[['inputfield_date'], 'safe'],
[['inputfield_date'], 'date'],
];
}
Run Code Online (Sandbox Code Playgroud)
我的观点页面:
<?php $form = ActiveForm::begin(); ?>
<?= $form->field($model, 'inputfield_date')->textInput(); ?>
<?php ActiveForm::end(); ?>
Run Code Online (Sandbox Code Playgroud) 遵循Yii Framework 2.0文档http://www.yiiframework.com/doc-2.0/guide-input-file-upload.html我试图上传图片.图像可以成功上传,但在上传图像后,我尝试使用以下代码将模型插入数据库.
$model->file->saveAs('uploads/' . $model->file->baseName . '.' . $model->file->extension);
$model->save();
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
PHP Warning – yii\base\ErrorException
finfo_file(/tmp/phpIGuwiT): failed to open stream: No such file or directory
1. in /var/www/html/website/advanced/vendor/yiisoft/yii2/helpers/BaseFileHelper.php
if ($info) {
$result = finfo_file($info, $file);
finfo_close($info);
if ($result !== false) {
return $result;
}
}
2. in /var/www/html/my-project/advanced/vendor/yiisoft/yii2/validators/FileValidator.php – yii\helpers\BaseFileHelper::getMimeType()
$mimeType = FileHelper::getMimeType($file->tempName, null, false);
3.
4.
and so on ....
Run Code Online (Sandbox Code Playgroud)
结果是图像已上载但模型尚未插入数据库.有谁知道如何解决这个问题?
使用Yii framework 2.0我希望能够上传多个文件.遵循Yii 2 文件,根据第Upload Multiple FilesI 小节,我有以下模型.
class Newsletter extends \yii\db\ActiveRecord {
public $attachment_file;
public function rules()
{
return [
[['attachment_file'], 'file', 'maxFiles' => 5],
];
}
public function upload() {
if ($this->validate()) {
foreach ($this->attachment_file as $file) {
echo '<pre>'; print_r($file); echo '</pre>';
}
return true;
} else {
return false;
}
}
}
Run Code Online (Sandbox Code Playgroud)
以下是我的观点.
<?php use yii\widgets\ActiveForm; ?>
<?php $form = ActiveForm::begin(['options' => ['enctype' => 'multipart/form-data']]) ?>
<?= $form->field($model, 'attachment_file[]')->fileInput(['multiple' => true,]) ?>
<button>Submit</button> …Run Code Online (Sandbox Code Playgroud) 我读过一篇关于Xamarin购买RoboVM并使开发人员能够用Java编写跨平台移动应用程序的文章.我不确定现在是否可以使用Java来开发跨平台的移动应用程序.有没有可靠的工具,我可以用Java编写跨平台移动应用程序开发?仅针对潜在的跨平台移动应用程序选择Java是一个不错的选择吗?我不考虑为此目的使用C,C++,C#,因为我从未专注于其中一个.我为那些语言的粉丝道歉.或者,我最好使用Java for Android应用程序和Swift for iOS应用程序?我计划选择Java作为所有Web应用程序,跨平台移动应用程序和机器人编程开发的主要语言.
我一直在那里四处寻找,但找不到工作决议.我尝试在Logstash配置文件中使用Grok Filter来过滤Apache-Access日志文件.日志消息如下所示:{"message":"00.00.0.000 - - [dd/mm/YYYY:hh:mm:ii +0000] \"GET /index.html HTTP/1.1\" 200 00"}.
在这一刻,我只能通过使用过滤客户端IP grok { match => [ "message", "%{IP:client_ip}" ] }.
我想过滤:
- The GET method,
- requested page (index.html),
- HTTP/1.1\,
- server response 200
- the last number 00 after 200 inside the message body
Run Code Online (Sandbox Code Playgroud)
请注意,这些都不适合我:
grok { match => { "message" => "%{COMBINEDAPACHELOG}" } }
Run Code Online (Sandbox Code Playgroud)
要么
grok { match => [ "message", "%{COMBINEDAPACHELOG}" ] }
Run Code Online (Sandbox Code Playgroud) 我有两个数据库表'user'和'role'.我使用Yii framework 2.0 Gii用User模型和UserSearch模型创建CRUD.默认情况下,Gii使用GridView :: widget作为"用户"模型的索引页面.
在UserSearch模型内部的搜索($ params)方法中,我使用以下代码将上述表连接在一起
$query = User::find()->with('role');
Run Code Online (Sandbox Code Playgroud)
查询一切正常.
默认情况下,Gii不包含来自views/user/index.php页面内GridView :: widget中的连接表'role'的数据.通过上面的连接查询,我可以从两个表中检索数据.在views/user/index.php页面中,我使用以下代码注入了GridView :: widget,以便它还包括连接表(角色)中的数据和列名.
<?= GridView::widget([
'dataProvider' => $dataProvider,
'filterModel' => $searchModel,
'columns' => [
['class' => 'yii\grid\SerialColumn'],
'userid',
'username',
'role.role_name',
['class' => 'yii\grid\ActionColumn'],
],
]); ?>
Run Code Online (Sandbox Code Playgroud)
使用GridView :: widget中包含的角色数据'role_name,一切正常.但问题是role_name没有搜索框.GridView :: widget仅为User属性创建搜索框.有没有办法为联接表'role'的属性添加搜索框,因为我还想搜索'role_name'以及User模型的其他属性.
使用Yii framework 2.0,我有两个数据库表如下.
A table:
a_id = 1, name = yes, number = 123
a_id = 2, name = no, number = 456
a_id = 3, name = ok, number = 683
B table:
id = 1, a_id = 1, firstname = s
id = 2, a_id = 1, firstname = y
id = 3, a_id = 2, firstname = e
id = 4, a_id = 2, firstname = x
id = 5, a_id = 2, firstname = t
id …Run Code Online (Sandbox Code Playgroud) 下面是我的纯SQL查询.
SELECT a.*, b.*
FROM a
INNER JOIN b
ON a.id = b.a_id
INNER JOIN (
SELECT a_id, MAX(add_time) AS max_add_time
FROM b
GROUP BY a_id
) m
ON b.a_id = m.a_id AND b.add_time = m.max_add_time
ORDER BY b.add_time DESC
Run Code Online (Sandbox Code Playgroud)
我在第二个中有子查询INNER JOIN.在我的活动查询下方.
$subQuery = B::find()->select(['a_id', 'MAX(add_time) AS max_add_time'])->groupBy('a_id');
$query = A::find()->innerJoin('b', 'a.id = b.a_id')
->innerJoin('(' .
$subQuery->prepare(Yii::$app->db->queryBuilder)
->createCommand()
->rawSql
. ') m', 'b.a_id = m.a_id AND a.add_time = m.max_add_time ')
->orderBy('b.add_time DESC');
Run Code Online (Sandbox Code Playgroud)
它工作正常,但我不喜欢在第二个中使用子查询的方式INNER JOIN.我想用这个查询来处理的是选择左表内连接和右表,分组a_id依次和右表的add_time(DESC).我应该如何在第二个INNER …
yii2 ×7
php ×6
file-upload ×2
gridview ×2
sql ×2
yii ×2
database ×1
date ×1
filter ×1
inner-join ×1
java ×1
login ×1
logstash ×1
mobile ×1
platform ×1
query-string ×1
subquery ×1
union ×1
validation ×1