laravel model联表的时候可能需要拼接表名,有没有什么方法避免手动拼接。
1. 运行环境
ubuntu docker
php8.2
1). 当前使用的 Laravel 版本?
Laravel Framework 10.48.20
2). 当前使用的 php/php-fpm 版本?
PHP 版本:8.2
PHP 8.2.26 (cli) (built: Dec 12 2024 00:39:21) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.2.26, Copyright (c) Zend Technologies
with Zend OPcache v8.2.26, Copyright (c), by Zend Technologies
3). 当前系统
Alpine Linux v3.21
4). 业务环境
开发环境
5). 相关软件版本
mysql5.7
2. 问题描述?
对于两个库联表,我的查询中可能包含某个表的id,两个表都有id,会导致sql报错,所以需要指定表
User::query()
->join("articles", 'id', '=', 'user_id')
->select(['id', 'name']);
例如上面的代码,我需要指定查询article的id,所以我需要指定表名,最终的代码可能是这样
User::query()
->join("articles", 'id', '=', 'user_id')
->selectRaw("users.id, articles.name");
3. 您期望得到的结果?
我希望可以不拼接表名,通过指定model或者其他方式来查询某个表的字段
4. 您实际得到的结果?
暂无
推荐文章: