Сегмент uri laravel не работает для строки

В моей базе данных первичный ключ имеет строку и число лайков пример: BRG2289182

Мой Контроллер

public function edit(BarangModel $barang)
{
    return view('fbarangs.edit',compact('barang'));
}

Моя модель

class BarangModel extends Model
{
    protected $fillable = [
        'barang_kode',
        'barang_nama',
        'barang_jenis',
        'barang_hbeli',
        'barang_hjual',
        'barang_stok',
    ];

    protected $table = 'barangs';
    protected $primaryKey = 'barang_kode';
}

Мои маршруты

Route::resource('barangs','BarangController');

моя ссылка

<a class = "btn btn-primary" 
  href = "{{ route('barangs.edit',$barang->barang_kode) }}">
    <i class = "fa fa-pencil"></i> 
</a>

Хочу сделать маршрутизацию для просмотра, редактирования, удаления. в моей базе данных есть одно поле первичного ключа, в котором используются буквы и цифры. и проблема в том, когда я использую его для маршрутизации, почему он не может? но когда я меняю данные первичного ключа на число, результат успешный. Может кто-нибудь мне помочь?

отвечать : добавить этот код в мою модель

public $incrementing = false

Вы пробовали ставить protected $incrementing = false на модель?

Travis Britz 10.11.2018 09:45

похоже, что я еще не использовал код.

AdityaDees 10.11.2018 09:50
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Поиск нового уровня в Laravel с помощью MeiliSearch и Scout
Поиск нового уровня в Laravel с помощью MeiliSearch и Scout
Laravel Scout - это популярный пакет, который предоставляет простой и удобный способ добавить полнотекстовый поиск в ваше приложение Laravel. Он...
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
В последние годы архитектура микросервисов приобрела популярность как способ построения масштабируемых и гибких приложений. Laravel , популярный PHP...
Как построить CRUD-приложение в Laravel
Как построить CRUD-приложение в Laravel
Laravel - это популярный PHP-фреймворк, который позволяет быстро и легко создавать веб-приложения. Одной из наиболее распространенных задач в...
0
2
54
1

Ответы 1

на основе комментариев @Travis Britz У меня есть решение, которое мне нужно добавить в мою модель

protected $incrementing = false

в моем случае мне нужно изменить protected на public, поэтому ответ

public $incrementing = false

и теперь это работает нормально

Моя ошибка, вы правы, что это свойство public. Без этого Laravel предполагает, что это увеличивающийся целое число, и преобразует вашу строку в int (вероятно, 0). Связанный: stackoverflow.com/a/43691024/6038111

Travis Britz 10.11.2018 09:56

Другие вопросы по теме