Максим
синтаксическая ошибка говорит
Anonymous
Aleksey
не бложики
Anton
не знаю, не пробывал) по мне дак все равно бред
Aleksandr
вопрос про рабочий комп
чтобы пакетов не было кучи левых, плюс если ведешь разные проекты, то удобно чтобы окружение было настроено как на продакшене, а в этом мощь докера
Oleg
синтаксическая ошибка говорит
$command->insert('email',['email_text'=>$value, 'site_id'=>$model->site_id]);
first
Ребзя,может кто подсказать,как правильно фильтр делать на Yii.
Повесил чекбоксы,отправляется get запрос,такого вида
?Женский=1&Мужской=1&Кровать=1&Диван=1
Можно ли сделать как-нибудь по другому,например
sex=Мужской&furniture=Кровать,Диван
Или вообще может кто сказать,как правильно делать фильтр?:С
Aleksey
User[sex]=female
Максим
PHP Fatal Error – yii\base\ErrorException
Call to undefined method Yii::app()
Anonymous
Aleksandr
Максим
PHP Fatal Error – yii\base\ErrorException
Function name must be a string
Oleg
PHP Fatal Error – yii\base\ErrorException
Function name must be a string
function actionIndex() {
$url = 'https://otvet.mail.ru/question/8449918';
$str = file_get_contents($url, false, $context);
preg_match_all("/\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/", $str, $matches);
$urls[] = $matches[0];
$model = new \app\models\Sites;
$model->url = $url;
$model->insert();
$modelMail = new \app\models\Email;
$modelMail->site_id = $model->site_id;
foreach ($matches[0] as $value) {
$modelMail = new \app\models\Email;
$modelMail->site_id = $model->site_id;
$modelMail->email_text = $value;
$modelMail->insert();
}
return $this->render('index', [
'matches' => $matches,
]);
}
Максим
Niko
Oleg
() не нужны
Just Fly
Yii::$app-> ...
Anonymous
Anonymous
Есть тут джедаи css?
Anonymous
Как сделать чтобы EUR размеры были под RUS?
Максим
Если на каждой иттерации цикла создавать модель, то все работает нормально, хз насколько это правильно
SiZE
<div>rus</div>
<div>eur</div>
:D
Vladislav
@IntergalacticImperatorImhotepII саблайм как бы по мягче сказать
Vladislav
прям чтобы совсем мягко
Aleksandr
какая-то магия происходит)
Aleksandr
Oleg
Aleksandr
Максим Yii::$app->db->createCommand()->batchInsert('НАЗВАНИЕ ТАБЛИЦЫ', 'АТРИБУТЫ', 'ДАННЫЕ')->execute()
Oleg
Aleksandr
батчем можно массив передать, и хоть сколько строк одним запросом записать в базу
Oleg
Anonymous
Oleg
Oleg
Oleg
Максим
я так и пробую, пока не получилось
Aleksandr
Максим
модель:
<?php
namespace app\models;
use Yii;
/
* This is the model class for table "email".
*
* @property integer $emaii_id
* @property integer $site_id
* @property string $email_text
* @property string $date_parse
*/
class Email extends \yii\db\ActiveRecord
{
/
* @inheritdoc
*/
public static function tableName()
{
return 'email';
}
/
* @inheritdoc
*/
public function rules()
{
return [
[['site_id', 'email_text'], 'required'],
[['site_id'], 'integer'],
[['date_parse'], 'safe'],
[['email_text'], 'string', 'max' => 255],
];
}
/
* @inheritdoc
*/
public function attributeLabels()
{
return [
'emaii_id' => 'Emaii ID',
'site_id' => 'Site ID',
'email_text' => 'Email Text',
'date_parse' => 'Date Parse',
];
}
public function getCreditItems() {
return $this->hasOne(CreditItems::className(), ['credit_item_id' => 'credit_item_id']);
}
}
Borys
Aleksandr
Максим так, а контроллер, где всю магию делаешь
Максим
public function actionIndex()
{
$url = 'https://otvet.mail.ru/question/8449918';
$str = file_get_contents($url, false, $context);
preg_match_all("/\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/", $str, $matches);
$urls[] = $matches[0];
$model = new \app\models\Sites;
$model->url = $url;
$model->insert();
$modelMail = new \app\models\Email;
$connection->createCommand()->batchInsert('email', ['email_text'], [
$matches[0]
])->execute();
return $this->render('index', [
'matches' => $matches,
]);
}
Borys
В конфиге nginx укажу какой fpm использовать и все :D
Aleksandr
Borys
Докеры, вагранты, PHPStorm. Блокнот, windows и хардкор
Aleksandr
Что в $matches[0]
Максим
Массив с email
Павел
Модель site покажи
Anonymous
Павел
Может в ней есть инсерт левый
Borys
IIS ещё)
Вот в наше время на листочке писали программы и дебажили. Читал высер на форуме?
Anonymous
Aleksandr
Максим а $connection - это что за магия?
Ivan
На перфокартах)
Максим
Модель Site:
<?php
namespace app\models;
use Yii;
/
* This is the model class for table "sites".
*
* @property integer $site_id
* @property string $url
* @property string $date_parse
*/
class Sites extends \yii\db\ActiveRecord
{
/
* @inheritdoc
*/
public static function tableName()
{
return 'sites';
}
/
* @inheritdoc
*/
/
* @inheritdoc
*/
public function attributeLabels()
{
return [
'site_id' => 'Site ID',
'url' => 'Url',
'date_parse' => 'Date Parse',
];
}
}
Borys
Максим ты хотя-бы код оформляй в кавычки.
Anonymous
Диды аутисты маст дай)
Павел
Максим
Niko
это из примера
мой код
выглядит лучше, когда его оборачиваешь в три символа ` с каждой стороны
Borys
http://yiiframework.ru/forum/viewtopic.php?f=12&t=44836&start=80#p225731
Максим
Yii::$app->createCommand()...
так вообще все падает
Yii::$app->createCommand()->batchInsert('email', ['email_text'], [
$matches[0]
])->execute();
Borys
Borys
А не мучать ребят.
Aleksandr
Максим массив с email долже выглядеть так:
[
[
'email_text' => 'test@test.test',
],
[
'email_text' => 'test@test.test2',
],
[
'email_text' => 'test@test.test3',
],
]
Aleksandr
Максим который ты батчем записать пытаешься
Максим
угу понял, ассоциативный нужен массив
Максим
а не простой
Aleksandr
не простой - магический)
Максим
Спасибо огромное всем кто помогал разобраться в проблеме. Пока чтобы не топтаться на месте оставлю вариант с созданием экземпляра модели в цикле. Потом попробую переделать на
$connection->createCommand()->insert('user', [
'name' => 'Sam',
'age' => 30,
])->execute();
Vladislav
Ребята, кто шарит в регулярках? \w+ это же все буквы?
Anonymous
\w matches any word character (equal to [a-zA-Z0-9_])
Anonymous
Anonymous
Vladislav
🤔 благодарю