Ошибка при сохранении модели в Laravel. 'Вызов функции-члена getKey() для объекта, не являющегося объектом'Php

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Ошибка при сохранении модели в Laravel. 'Вызов функции-члена getKey() для объекта, не являющегося объектом'

Сообщение Anonymous »

Я пытаюсь сохранить свой объект в БД с помощью этого кода:

$preview = new ProjectProductPreview();
$preview->user_id = $user_id;
$preview->path = $preview_url;
$preview->type = $type;
$preview->project_product_id = $product_id;
$preview->save();


И у меня возникла странная ошибка. Эта ошибка возникает при вызове метода save().
Я проверил журналы laravel, есть эта ошибка. Я могу это отладить именно потому, что в этом случае стек ошибок имеет только две позиции

[2015-02-17 09:37:30] production.ERROR: exception 'Symfony\Component\Debug\Exception\FatalErrorException' with message 'Call to a member function getKey() on a non-object' in /var/www/erp/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Collection.php:133
Stack trace:
#0 [internal function]: Illuminate\Exception\Handler->handleShutdown()
#1 {main} [] []


Моя модель выглядит так:

class ProjectProductPreview extends BaseModel {

protected $table = 'project_products_preview';

public function user() {
return $this->belongsTo('User');
}

public function project_product() {
return $this->belongsTo('ProjectProduct', 'project_product_id');
}

public function projectProduct()
{
return $this->belongsTo('ProjectProduct', 'project_product_id');
}

public function message() {
return $this->belongsToMany('Message');
}

public function getThumb() {
$path = $this->path;
$thumb_path = str_replace('.jpg', '_70.jpg', $path);
return $thumb_path;
}

public function fullPath() {
return public_path($this->path);
}

public function getPath()
{
return $this->path;
}

public function getUrlAttribute() {
$product_id = $this->project_product_id;

return '/product/' . $product_id . '#' . $this->id;
}

public function isAccepted()
{
if($this->accepted==1){
return true;
}

return false;
}

public function accept()
{
ProjectProductPreview::where('project_product_id',$this->project_product_id)->update(array('accepted'=>0));
$this->accepted=1;
$this->save();

Event::fire('project_product_preview.accepted', array($this));
}

public function acceptRemove()
{
$this->accepted=0;
$this->save();

Event::fire('project_product_preview.remove_accept', array($this));
}

}


Подробнее здесь: https://stackoverflow.com/questions/285 ... y-on-a-non
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Php»