Laravel eloquent find () с пользовательским первичным ключом возвращает not found - PullRequest
1 голос
/ 02 июля 2019

Я установил в моей модели пользовательский первичный ключ как:

protected $primaryKey = 'id_player';

Он установлен в качестве первичного ключа на MySql

Но если я сделаю

$ row = DB :: table ("Players") -> find ($ playerId);

Не возвращает элементов (но существует).

Модель игроков

 namespace App;
 use Illuminate\Database\Eloquent\Model;

 class Players extends Model{
    protected $primaryKey = 'id_player';
 }

PlayersController

namespace App\Http\Controllers\Players;

use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use App\Players;
use Illuminate\Support\Facades\DB;

class PlayersController extends Controller{
   ...
   ...
}

Я новичок в Laravel, чего мне не хватает?

Ответы [ 2 ]

6 голосов
/ 02 июля 2019

Вы запрашиваете со стола.

Если вы хотите использовать Model primaryKey, вам нужен доступ из модели eloquent

// Предположим, ваша модель называется User

$row = App\User::find($playerId);
2 голосов
/ 02 июля 2019

Это будет работать:

$rows = DB::table("players")->where('id_player', $playerId)->first();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...