本文整理汇总了PHP中Eloquent::getKey方法的典型用法代码示例。如果您正苦于以下问题:PHP Eloquent::getKey方法的具体用法?PHP Eloquent::getKey怎么用?PHP Eloquent::getKey使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Eloquent
的用法示例。
在下文中一共展示了Eloquent::getKey方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: setConditionalRules
/**
* Set conditional rules against the model.
* @param Eloquent $model [description]
*/
protected function setConditionalRules(\Eloquent $model)
{
$id = $model->getKey();
foreach (['email', 'username'] as $field) {
//Only use the rules if the correspoding field has been passed through.
$this->validator->sometimes($field, $this->rules[$field] . ",{$id}", function ($input) use($model, $field) {
//If the model already exists then we don't want to run specific validation.
if ($model->exists) {
//Filter out specific rule
$this->validator->setRules(array_except($this->validator->getRules(), [$field]));
return true;
}
return false;
});
}
}
示例2: isReferenced
public function isReferenced()
{
$id = parent::getKey();
$hasRefrences = false;
$def = \Config::get('database.default');
$constraint_schema = \Config::get("database.connections.{$def}.database");
$referenced_data = \DB::table('INFORMATION_SCHEMA.KEY_COLUMN_USAGE')->where('CONSTRAINT_SCHEMA', $constraint_schema)->where('REFERENCED_TABLE_NAME', $this->tableName)->select(array('TABLE_NAME', 'COLUMN_NAME'))->get();
foreach ($referenced_data as $r) {
$validator = \DB::table($r->TABLE_NAME)->select('*')->where($r->COLUMN_NAME, $id)->get();
if (count($validator) > 0) {
$hasRefrences = true;
break;
}
}
return $hasRefrences;
}
示例3: createByUserAndQuiz
public static function createByUserAndQuiz(\Eloquent $user, QuizModel $quiz)
{
return static::create(array('user_id' => $user->getKey(), 'quiz_id' => $quiz->getKey(), 'token' => time() . KRandom::getRandStr(8), 'result_text' => '', 'status' => '未开始'));
}
示例4: save
/**
* @param $className
* @param $parameters
* @param null $objectId
* @return ParseResponse
* @throws \Exception
*/
public function save($className, $parameters, $objectId = null)
{
$values = array();
// if update, try to get the current object at first
if ($objectId) {
$this->object = $this->object->findOrFail($objectId);
}
foreach ($parameters as $key => $val) {
if (in_array($key, $this->columns)) {
if (is_array($val) && ($operation = array_get($val, '__op'))) {
switch ($operation) {
case "Increment":
$val = $this->object->{$key} ? $this->object->{$key} + $val['amount'] : $val['amount'];
break;
case "decrement":
$val = $this->object->{$key} - $val['amount'];
break;
case "Delete":
$val = null;
break;
case "Batch":
// $ops = $val['ops'];
// foreach ($ops as $ops_key => $ops_val) {
// if ($ops_val['__op'] == 'AddRelation') {
// foreach ($ops_val['objects'] as $objects_key => $objects_val) {
// $relation_type = $objects_val['__type'];
// $relation_class_name = $objects_val['className'];
// $relation_class_name = ParseHelperClass::removeUnderscoreFromClassName($relation_class_name); // to remove '_' character if founded in the name of class _User
// $relation_objectId = $objects_val['objectId'];
// $relation_object = ParseHelperClass::createObject($relation_class_name);
// $updatedAt = '';
//
// if (!$relation_object) {
// return ParseHelperClass::error_message_return('105');
// }
//
// $object->find($objectId)->$key()->sync([$relation_objectId], false);
//
// $relation_data_of_object = $object::find(60)->$key()->where($relation_class_name . '_id',
// '=', $relation_objectId)->get();
//
// foreach ($relation_data_of_object as $relation_data) {
// $updatedAt = $relation_data->pivot->createdAt;
// }
// }
//
// return array(
// "updatedAt" => Carbon::parse($updatedAt)->format('Y-m-d\TH:i:s.z\Z')
// );
// }
// }
break;
}
}
$values[$key] = $val;
} elseif (in_array($key, $this->relations)) {
//
} else {
if ($key != "ACL") {
ParseHelper::throwException('210', $key);
}
}
}
$this->object->fill($values);
try {
$event = $this->object->getKey() ? 'update' : 'insert';
\Event::fire("before.{$event}." . $this->object->getTable(), $this->object);
$this->object->save();
//create new object
// now we can attach the relations
foreach ($parameters as $key => $val) {
if (in_array($key, $this->relations)) {
if ($operation = array_get($val, '__op')) {
switch ($operation) {
case "Delete":
$this->object->{$key}()->delete($val);
break;
}
} elseif ($this->object->{$key}() instanceof BelongsTo) {
$this->object->{$key}()->associate($val);
} elseif (!$this->object->{$key}() instanceof BelongsTo) {
$this->object->{$key}()->save($val);
} else {
ParseHelper::throwException(105);
}
}
}
\Event::fire("after.{$event}." . $this->object->getTable(), $this->object);
} catch (\Exception $ex) {
ParseHelper::throwException(141, $ex->getMessage());
}
}