首页 > 解决方案 > Eloquent 查询不使用 where/first 条件。为什么?

问题描述

简单的 eloquent 查询不使用 where 条件。

玩家::where('id_player',"=" ,3113)-​​>first()->toSql();

回报:

“选择 * 从players

我的控制器

namespace App\Http\Controllers\Office;

use Illuminate\Http\Request;
use App\Http\Controllers\Controller;

use App\Players;

class OfficeController extends Controller{
   public function playerLineup(Request $request){
      $e = Players::where('id_player',"=" ,3113)->first()->toSql(); 
      dd($e);
   }
}

我的模态

namespace App;

use Illuminate\Support\Facades\DB;
use Illuminate\Database\Eloquent\Model;

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

标签: laraveleloquent

解决方案


运行->first()后,结果就是Player模型的新实例。再->toSql()上个新鲜模型就好了Player::query()->toSql()

您需要->toSql()在此之前致电:

Players::where('id_player',"=" ,3113)->toSql();

或者

Players::where('id_player',"=" ,3113)->limit(1)->toSql();

推荐阅读