ОШИБКА SQLSTATE [HY000]: общая ошибка: 1364 Поле «имя» не имеет значения по умолчанию (SQL: вставить в значения «избранное» () ()) - PullRequest
0 голосов
/ 07 мая 2018

Я пытаюсь скопировать станцию ​​из репозитория станций и добавить ее в мой любимый репозиторий. Я в API отдыха Laravel. Спасибо за помощь!

Вот мой контроллер:

class FavoriteController extends Controller
{
    private $favoriteRepository;
    private $stationRepository;

public function __construct(FavoriteRepository $favoriteRepository, StationRepository $stationRepository)
{
    $this->favoriteRepository = $favoriteRepository;
    $this->stationRepository = $stationRepository;
}


public function store(int $station_id)
{
    $favorite = array();
    $favorite[] = $this->stationRepository->findByField("id", $station_id);
    $this->favoriteRepository->create($favorite);
    return response()->json($favorite, 201);
}
}

Вот база данных для избранных:

public function up()
{
    Schema::create('favorites', function (Blueprint $table) {
        $table->string('name');
        $table->string('city');
        $table->foreign('city')->references('name')->on('cities');
        $table->integer('station_id')->unsigned();
        $table->foreign('station_id')->references('id')->on('stations')->onDelete('cascade');
        $table->integer('user_id')->unsigned();
        $table->foreign('user_id')->references('id')->on('users')->onDelete('cascade');
        #$table->boolean('is_private');
    });
}

Вот моя любимая модель

class Favorite extends Model
{
protected $fillable = ['station_id', 'user_id', 'updated_at', 'name', 'city'];

public $timestamps = false; 
}

И у меня есть оба этих метода в моих репозиториях:

function model()
{
    return "App\\Station";
}

1 Ответ

0 голосов
/ 07 мая 2018

Попробуйте это

public function store($station_id)
{
    $favorite = $this->stationRepository->where("id", $station_id)->first()->toArray();
    $this->favoriteRepository->create($favorite);
    return response()->json($favorite, 201);
}
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...