use backend\models\User; // Find all users first, else it will stop the script if (!empty($getAllUsers = User::find()->all())) { // Find all auth items first, else it will stop the script if (!empty($getAllAuthItems = AuthItem::find()->all())) { foreach ($getAllAuthItems as $authItems) { $allAuthItems[] = $authItems->name; } } else { exit("No 'auth item' data in '" . AuthItem::tableName() . "' table." . PHP_EOL); } // Check if 'admin' exists, else stop the script if (in_array('admin', $allAuthItems)) { $getAdminOnly = array_search('admin', $allAuthItems); } else { exit("Create an 'admin' first in " . AuthItem::tableName() . " table" . PHP_EOL); } // Random created/updated dates $created = $faker->dateTimeBetween('-7 days', 'now')->format('Y-m-d H:i:s'); foreach ($getAllUsers as $user) { // Well, search me first before anything else :D if ($user->username === 'vrigzalejo') { $seedAuthAssignment[] = ['item_name' => $allAuthItems[$getAdminOnly], 'user_id' => $user->id, 'created_at' => $created]; } else { $seedAuthAssignment[] = ['item_name' => $allAuthItems[array_rand($allAuthItems)], 'user_id' => $user->id, 'created_at' => $created]; } } // Database seed the 'auth_assignment' table according to users number if ($index < count($getAllUsers)) { return $seedAuthAssignment[$index]; } else {
<?php /** * Created by PhpStorm. * User: vrigzlinuxmint13 * Date: 9/6/15 * Time: 1:58 PM */ use backend\models\AuthItem; // Search for 'admin' name in auth_item table first if (!empty($authItem = AuthItem::find()->where(['name' => 'admin'])->one())) { // Find all auth_items except 'admin' foreach ($allAuthItems = AuthItem::find()->all() as $aItem) { if ($aItem->name !== 'admin') { $authItemChildData[] = ['parent' => $authItem->name, 'child' => $aItem->name]; } } // Db seed auth_item_child according to parent-child relationship if ($index < count($allAuthItems) - 1) { return $authItemChildData[$index]; } else { exit("Please set '" . preg_replace('/\\.php$/', '', basename(__FILE__)) . "' --count from 1 up to " . count($authItemChildData) . PHP_EOL); } } else { exit("No 'admin' data in '" . AuthItem::tableName() . "' table." . PHP_EOL); }