public function saveMany($models)
{
foreach ($models as $model) {
$this->save($model);
}
return $models;
}
$attributes[] = ['parent_id' => 0];
foreach ($childrens as $child) {
$child->parent()->associate($child)->save();
}
dd($relation = $this->childSections())
, исходник в руки и каждый шаг на экран(function ($, App) {
// ваш код
$(function () {
// ваш код после DOM-ready
});
})(jQuery, App = window.App || {});
<script src="">
чтобы поймать событие когда скрипт будет подключен к сайту, но еще до того как будет закончен ondomready<?php
$host = '127.0.0.1';
$db = 'test';
$user = 'root';
$pass = '';
$charset = 'utf8';
$dsn = "mysql:host=$host;dbname=$db;charset=$charset";
$opt = [
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
PDO::ATTR_EMULATE_PREPARES => false,
];
$pdo = new PDO($dsn, $user, $pass, $opt);
for ($i = 0; $i < 1000000; $i++) {
$pdo->query(sprintf('INSERT INTO table (id, value) VALUES (%d, "%s")', $i+1, uniqid());
}
# -- FORCE HTTPS
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTP_HOST} ^test. [NC]
RewriteCond %{HTTP_HOST} \.loc$ [NC]
RewriteCond %{HTTPS} =on [OR]
RewriteCond %{HTTP:X-Forwarded-Proto} https
RewriteRule .* http://%{HTTP_HOST}%{REQUEST_URI} [R=301,L,QSA]
RewriteCond %{HTTP_HOST} ^test. [NC]
RewriteCond %{HTTP_HOST} \.loc$ [NC]
RewriteCond %{HTTP_HOST} ^www\.(.+)$ [NC]
RewriteRule .* http://%1/%{REQUEST_URI} [R=301,L,QSA]
RewriteCond %{HTTP_HOST} !^test. [NC]
RewriteCond %{HTTP_HOST} !\.loc$ [NC]
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteCond %{HTTPS} !=on
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule .* https://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L,QSA]
RewriteCond %{HTTP_HOST} !^test. [NC]
RewriteCond %{HTTP_HOST} !\.loc$ [NC]
RewriteCond %{HTTPS} !=on
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L,QSA]
</IfModule>
co(function* () {
var limit_burst = default_limit_burst;
var limit_minute = default_limit_minute;
var limit_day = default_limit_day;
// getting records from somewhere
var records = get_the_records();
records = yield co(function* () {
var records_done = [];
while (records.length) {
let limit = Math.min(limit_burst, limit_minute, limit_day);
let batch = records.splice(0, limit);
// update limits
limit_burst -= batch.length;
limit_minute -= batch.length;
limit_day -= batch.length;
for (let i in batch) {
// ... request
}
// refresh limits from response headers if available
yield Promise.all(ps).then(results => {
var current_limit_burst = default_limit_burst;
var current_limit_minute = default_limit_minute;
var current_limit_day = default_limit_day;
// save results
records_done = results.map(r => {
if (r[0] !== null) return console.error(r[1]) || null;
current_limit_burst = Math.min(current_limit_burst, r[2][0]);
current_limit_minute = Math.min(current_limit_minute, r[2][1]);
current_limit_day = Math.min(current_limit_day, r[2][2]);
return r[1];
}).filter(r => r!==null);
limit_burst = current_limit_burst;
limit_minute = current_limit_minute;
limit_day = current_limit_day;
});
if (limit_burst <= 0) yield new Promise(r => setTimeout(r, 5000));
if (limit_minute <= 0) yield new Promise(r => setTimeout(r, 60000));
if (limit_day <= 0) yield new Promise(r => setTimeout(r, 86400000));
}
return records_done;
});
});