Так что в основном ошибка говорит о том, что у меня нет столбца с именем updated_at, но я знаю, что у меня его нет, и я не хочу его иметь. Моя таблица базы данных имеет только следующие столбцы: requestter, user_requested, id, status.
Это моя модель
class Friendships extends Model
{
protected $fillable = ['requester', 'user_requested', 'status'];
}
Это мой профиль-контроллер
public function sendRequest($id){
return Auth::user()->addFriend($id);
}
И это мой friendlyable.php
namespace App\Traits;
use App\Friendships;
trait Friendable{
public function test(){
return 'hi' ;
}
public function addFriend($id){
$Friendship = Friendships::create([
'requester' => $this->id,
'user_requested' => $id
]);
if($Friendship){
return $Friendship;
}
return 'failed';
}
}
Он говорит, что метод addFriend не найден, а create не работает, очевидно, потому что id не найден.
2 ответа
По умолчанию Eloquent ожидает, что в ваших таблицах будут столбцы created_at
и updated_at
. Если вы не хотите, чтобы Eloquent автоматически управлял этими столбцами, установите для свойства $timestamps
вашей модели значение false
:
class Friendships extends Model
{
public $timestamps = false;
protected $fillable = ['requester', 'user_requested', 'status'];
}
ИЗМЕНИТЬ
Пожарные команды,
php artisan make:migration modify_friendships_table;
Затем перейдите к файлу миграции, который создан в database/migrations
Написать код в этом классе,
Schema::table('friendships', function (Blueprint $table) {
$table->boolean("status")->default(0)->change();
});
Сохранить файл выше, затем запустить команду ниже
php artisan migrate
А теперь проверьте, работает ли он.
Laravel автоматически попытается установить значение для полей created_at
и updated_at
. Настоятельно рекомендуется иметь их, однако, если вы не хотите, вы можете отключить их на своей модели.
Для этого просто добавьте public $timestamps = false;
в модель. Например:
class Friendships extends Model
{
public $timestamps = false;
protected $fillable = ['requester', 'user_requested', 'status'];
}
Похожие вопросы
Новые вопросы
php
PHP - это широко используемый высокоуровневый, динамический, объектно-ориентированный и интерпретируемый язык сценариев, в первую очередь предназначенный для серверной веб-разработки. Используется для вопросов о языке PHP.