1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- <?php namespace Laravel\Database\Eloquent\Relationships;
- use Laravel\Database\Eloquent\Model;
- class Has_One_Or_Many extends Relationship {
- /**
- * Insert a new record for the association.
- *
- * @param Model|array $attributes
- * @return bool
- */
- public function insert($attributes)
- {
- $attributes = ($attributes instanceof Model) ? $attributes->attributes : $attributes;
- $attributes[$this->foreign_key()] = $this->base->get_key();
- return $this->model->create($attributes);
- }
- /**
- * Update a record for the association.
- *
- * @param array $attributes
- * @return bool
- */
- public function update(array $attributes)
- {
- if ($this->model->timestamps())
- {
- $attributes['updated_at'] = new \DateTime;
- }
- return $this->table->update($attributes);
- }
- /**
- * Set the proper constraints on the relationship table.
- *
- * @return void
- */
- protected function constrain()
- {
- $this->table->where($this->foreign_key(), '=', $this->base->get_key());
- }
- /**
- * Set the proper constraints on the relationship table for an eager load.
- *
- * @param array $results
- * @return void
- */
- public function eagerly_constrain($results)
- {
- $this->table->where_in($this->foreign_key(), $this->keys($results));
- }
- }
|