class Product extends \yii\db\ActiveRecord
{
...
}
class Order extends \yii\db\ActiveRecord
{
...
public function getProducts()
{
return $this->hasMany(Product::className(), ['order_id' => 'id']);
}
...
}
$orders = Order::find()->with('product')->all();
foreach ($orders as $order) {
foreach ($order->products as $product) {
echo 'Order id: ' . $order->id . ' Product Id: ' . $product->id;
}
}
[
// ...
'admin' => 'site/login',
];
Подозреваю что это из-за того что в бд у меня формат даты 2018-05-24 13:37:45 , а отправляю я дату 2018-05-24 без времени.
Так вот как правильно дописать к первому диапазону 00:00, а ко второму 23:59 чтобы оно включало концы всегда?
class ExportBehavior extends Behavior
{
public $attributes;
public function export(){
return $this->owner->attributes;
}
}
Изучил, и понял что на каждый объект приспособленца - создается объект. А разве приспособленец не для избегания создавания лишних объектов?
if (array_search($_GET['id']-1, $lot_history) === false){
...
}
Узнал от(значительно) более опытного коллеги, что использование статических методов считается нарушением принципов ООП.
Соответственно, я могу сделать метод и сам класс статическим(и иметь красивый код) или не делать(и каждый раз создавать экземпляр класса, чтобы вызвать метод) .
Что будет занимать больше памяти и как вообще в обоих случаях будет работать сборщик мусора?
Что будет работать быстрее?
Есть ли у статического варианта какие-то подводные камни, например, при вызове из нескольких потоков?
UPDATE mytable
RIGHT JOIN
(SELECT
`user`,
MIN(dt) as dt_start,
DATE(dt) as d
FROM mytable
GROUP BY user, d) as temp
ON mytable.user = temp.user AND DATE(mytable.dt) = temp.d
SET mytable.dt_start = temp.dt_start