本文整理汇总了PHP中app\Config::firstOrCreate方法的典型用法代码示例。如果您正苦于以下问题:PHP Config::firstOrCreate方法的具体用法?PHP Config::firstOrCreate怎么用?PHP Config::firstOrCreate使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类app\Config
的用法示例。
在下文中一共展示了Config::firstOrCreate方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: fire
/**
* Execute the console command.
*
* @return mixed
*/
public function fire()
{
// This process isn't necessary for resellers
if ('true' == env('RESELLER')) {
dd('We are a reseller.');
}
// Grab all new events concerning virtual machine creation or service offering changes.
$eventId = Config::firstOrCreate(['parameter' => 'lastEventId']);
if (null == $eventId->data) {
$eventId->data = 0;
}
// Initialize the parameter with a value.
$this->info('Last Processed Event ID is: [' . $eventId->data . ']');
$maxEventId = UsageEvent::max('id');
$this->info('Max ID in Event table: [' . $maxEventId . ']');
if ($eventId->data == $maxEventId) {
// If there are no new events, no processing is required.
exit;
}
$events = UsageEvent::where('id', '>', $eventId->data)->where('id', '<=', $maxEventId)->where(function ($query) {
$query->where('type', '=', 'VM.CREATE')->orWhere('type', '=', 'VM.UPGRADE');
})->get();
// Iterate over each event and process
$events->each(function ($event) {
// In this context:
// resource_id = vm_instance_id
// type = Event type
// offering_id = service_offering_id
// Grab the Service Offering of the VM the event concerns if it is customized.
$this->info('VM_ID: [' . $event->resource_id . '] Type: [' . $event->type . '] SO_ID: [' . $event->offering_id . ']');
$so = DB::connection('cloud')->table('service_offering')->whereId($event->offering_id)->whereNull('cpu')->whereNull('speed')->whereNull('ram_size')->first();
// If we have a result, the Service Offering is custom.
if (isset($so->id)) {
$this->info('We have a custom service offering');
// We need to grab the custom fields for this VM.
$vmDetails = \App\VmInstance::find($event->resource_id)->details->toArray();
$resources = array();
foreach ($vmDetails as $detail) {
if ('cpuNumber' == $detail->name || 'cpuSpeed' == $detail->name || 'memory' == $detail->name) {
$resources["{$detail->name}"] = $detail->value;
}
}
$resources['vmInstanceId'] = $event->resource_id;
VmResources::create($resources);
}
});
// Set the last processed record ID so we don't go over records multiple times.
$eventId->data = $maxEventId;
$eventId->save();
}