http://laravel.p2hp.com/cndocs/9.x/eloquent#generating-model-classes
https://learnku.com/docs/laravel/9.x
https://learnku.com/docs/laravel/8.5
https://learnku.com/docs/laravel/8.x
https://learnku.com/docs/laravel/7.x
https://learnku.com/docs/laravel/6.x
https://learnku.com/docs/laravel-cheatsheet/9.x
https://learnku.com/docs/clean-code-php
https://learnku.com/docs/laravel-tips/8.x
https://www.zhihu.com/question/24136962/answer/115970743
需要在日志中查看
$sql_orders = Order::where('user_id', $user_id);
Log::debug($sql_orders->toSql());
结果
[2022-09-01 03:34:32] local.ERROR: select * from `user`
DB::enableQueryLog(); // 注意,在查询前,需要启用查询日志
$sql_orders = Order::where('user_id', $user_id);
$sql_orders->get();
Log::debug(DB::getQueryLog());
结果
[2022-09-01 03:19:27] local.DEBUG: array (
0 =>
array (
'query' => 'select * from user',
'bindings' =>
array (
),
'time' => 39.77,
),
)
app/Providers/AppServiceProvider.php boot 方法中添加监听。

public function boot()
{
//
DB::listen(function($query) {
File::append(
storage_path('/logs/query.log'),
$query->sql . ' [' . implode(', ', $query->bindings) . ']' . PHP_EOL
);
});
}
$user = User::where(['id'=>10]);
$toSql = $user->toSql();
//Log::error($user);
$output = new \Symfony\Component\Console\Output\ConsoleOutput();
$output->writeln("$toSql ");

常用在数据库没这个字段,前端需要返回该字段
class User extends Model
{
use HasApiTokens, HasFactory, Notifiable;
protected $table = "user";
protected $appends = ["isBool","show"];
public function getisBoolAttribute(){
return true;
}
public function getShowAttribute(){
return 1;
}
}
结果:
