我被MySQL的嵌套select查询的Laravel Eloquent关系卡住了。我的查询是这样的。
SELECT
*,
GROUP_CONCAT(p.facility) AS facility
FROM
(SELECT
`proposals`.*,
`proposals`.`desc` AS `pending`,
`proposals`.`Date` AS `date`,
`pl`.`type` AS `facility`,
`ps`.`id` AS `proposalStatusId`,
`ps`.`status` AS `pro
select CONCAT(app_users.first_name) as display_name,COUNT(NewLeads.id)
from `app_users`
LEFT JOIN (SELECT app_leads.id, app_leads.owner_user_id from app_leads JOIN app_lead_version ON app_leads.id=app_lead_version.lead_id WHERE `app_leads`.`flag` = '1' and `app_leads`.`created_at` >= "
如何将此查询转换为laravel db查询。 SELECT * FROM {
Select * from organizers
Order by organizers.rank
} Group by t.department 这是query的简化版本。实际上,内部查询有更多的where子句,并使用laravel db查询构建。 编辑:我知道原始查询。但这不是我要找的。内部查询很复杂,并且有很多条件where子句。我想保留我在那里使用的db query对象。
当我在shell中使用raw查询时,我正在使用laravel Query Builder连接mysql数据库中的两个表
SELECT * from parent_accounts
LEFT JOIN child_accounts on parent_accounts.account_id=child_accounts.parent_id
结果
使用laravel查询构建器时,如下所示
$accounts=\DB::table('parent_accounts as p')->join('child_accounts as c','p.a
我有以下查询
select * from (SELECT accident.id,count(*) as cnt from accident left join driver on driver.accident_id = accident.id group by accident.id)alias where cnt = 1
这是我的查询构建器
$accidents = DB::table('accident')
->leftjoin('driver','accident.id','driver.accident_
我有一个类似于这样的MySQL查询:
SELECT
a.id,
a.nip,
a.name,
COUNT(
(
SELECT id
FROM covis_transactions
WHERE user_id = a.id
)
) AS total_survey
FROM users a
WHERE a.user_role_id = 7
GROUP BY a.id
我试着将其转换为一个雄辩的查询,但这似乎行不通:
DB::table('users as a')
请有人可以优化这个查询根据Laravel查询构建器与一些连接的帮助 Product::select(DB::raw('
products.*
,(select name from users where users.id=products.user_id) as user_name
'))
->where(function ($query) use ($searchKey) {
if (trim($searchKey) !=
有没有办法将这个查询转换成Laravel eloquent格式?
SELECT TEMP.A, COUNT(*) AS Total FROM
(SELECT A FROM TABLE WHERE B='something' GROUP BY C)
AS TEMP GROUP BY TEMP.A
我在这里尝试做的是根据C在某些where子句中的不同记录来获取A的计数。
subselect语句也是一个很有说服力的对象,它由用户在筛选器上的输入构建而成,以获得C输出的独特记录。我尝试这样做,假设subselect eloquent对象是$query
$query2-&
我想将以下sql语句转换为Laravel查询构建: SELECT
*
FROM
view_orderline_manifest_data
where
OrderID = 7
and (
ProdCategoryParentID != 4
or ProdCategoryParentID IS NOT NULL
) 尝试了以下操作: $orderlinedata=DB::table('view_orderline_data')
->select('ProdName','ProdID
我刚开始学习Laravel,并将常规PHP代码转换为Laravel。我需要在Laravel中执行这个查询,但是失败了。
SELECT sum(qty_del) as delivery from delivery_sap a where YEAR(a.bill_date) + IF(MONTH(a.bill_date)>6, 1, 0) = 2017
这是我想出来的,但失败了。
$data = DB::table('delivery_sap')
->select(DB::raw('sum(qty_del) as delivery')
我想知道是否可以使用查询构建器在模型中使用查询构建器在两个表之间建立连接,我不想使用eloquent
这是我的模型
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
use DB;
class Tbl_Perimetro extends Model
{
puplic function perimetros(){
$carteras = DB::table('tbl_perimetros')
->join('tbl_equipo_postventaatcs&
如果在my Place模型中有此关系:
public function openhours()
{
return $this->hasOne('Hours')->select(DB::raw("IF(CURTIME() BETWEEN open_time AND close_time ,'Open','Closed')"));
}
在我的路线中:
$place = Place::with('openhours')->where('id', '=', 5)-&g
你好,我有一个原始查询,看起来像这样,必须转换在Laravel 5.5的查询构建器中,而不使用eloquent,并需要有分页
select lt.country_name, u.user_id, u.real_name from users u
join lang_table lt on lt.language_id = u.country
where not exists (select fr2 from friends where fr1 = 1 and fr2 = u.user_id and status = 1) and not exists(select fr1 from frien
我只是想简单地对列求和。我使用了下面的代码
$money = Income::sum('money');
也累了这
$money = Income::select(DB::raw('sum(money)'))->get();
但这是抛出错误。我使用postgresql作为我的数据库。错误消息:
SQLSTATE[42883]: Undefined function: 7 ERROR: function sum(character varying) does not exist
LINE 1: select sum("money") as a
Lumen具有带有select方法的DB外观
$results = DB::select('select * from users where id = :id', ['id' => 1]);
但这在WHERE in case中不起作用。
DB::connection('db')->selectOne("many lines of sql WHERE my_id IN (:my_id) ", ["my_id" => $new_ids]);
当然,也可以使用查询构建器,
DB::connection
我有以下SQL查询:
SELECT * from db.tableA WHERE field in (SELECT id FROM db.tableB where other_field = value);
我希望select from field where tableA在由子查询返回的值数组中。问题是:我怎样才能用eloquent做到这一点?我目前的解决方案(我认为非常丑陋)如下:
$a = \App\tableB::where("other_field", "=", $value)->select('id')->get();
$
我想使用Laravel查询构建器重现以下mySQL查询:
*SELECT SUM(scores) FROM (SELECT scores FROM player_games WHERE player_id = 1 ORDER BY id DESC LIMIT 2) scores
有什么建议吗?
下面是解决方案:
$sub = playerGame::where('player_id',1)->where('scores','>',0)->limit(2)->orderBy('id','des
有没有办法用原始查询来初始化laravel的查询构建器?或者至少在现有实例中传递完整的原始SQL查询?如下所示: $rawSQL = "select * from table ...";
$builder = DB::query($rawSQL); // returns a query builder instance
$builder->where(...); // like a normal ->where method in query builder 我尝试过DB::select,但它返回一个数组,而不是一个可以由更多查询更新的查询构建器实例。
我想获取Laravel数据库表的索引。
我知道我可以像下面这样得到它们
\DB::select("SHOW INDEX FROM $db_table_name WHERE non_unique = 1 AND column_name = '$db_column_name'");
但我觉得这不是个好办法。我想让它们像这样:
// this
\DB::getIndex($db_table_name, $db_column_name);
// Or this
\DB::table($db_table_name)->getIndex($db_column_nam
我有类似的sql命令
$kos = DB::select('SELECT team,round,SUM(points) AS total from points WHERE round="first" GROUP by team ORDER BY total desc, run_rate desc limit 4');
当我dd($kos)时,它会给我这个输出,但是当我运行这个输出时
$kos = DB::select('SELECT team,round,SUM(points) AS total from points WHERE round="
我正在尝试使用Laravel的查询构建器连接两个表,但是我似乎在使用查询构建器获得所需结果时遇到了问题,但是我可以非常简单地使用原始SQL语句来获得结果。我只想返回在tags表的tag列中有腐蚀响应值的所有mod行。
Schema
--------------
mods
--------------
id - int - (primary key)
name - varchar
--------------
tags
--------------
id - int
modid - int - (primary key of its parent mod)
tag - varchar
工作S
我目前正在尝试编写一个查询来显示7天的日志值,这些值会自动写入我的表中,例如下面的数据。
所以我想要的是在帖子中选择7个最新的条目(例如id465-471),然后把它们全部计算出来,然后吐出数字,例如上述数据的7个最新条目的4353。
我通过SQL编写的查询如下:
SELECT SUM(posts) as poststw FROM (SELECT posts FROM `stats_log` ORDER BY dateline DESC LIMIT 7) tl
并且这成功地工作并设法通过PhpMyAdmin正确地显示计数。
我尝试将自己转换为Laravel格式,如下所示,但
我想通过使用查询构建器来使这个查询尽可能的快速。谢谢
SELECT DISTINCT ON (spaceid) * FROM (SELECT DISTINCT ON (galleryid) * FROM gallery_spaces ORDER BY galleryid, RANDOM()) AS intermediate ORDER BY spaceid, RANDOM() LIMIT 8
抱歉,这是我能找到的最接近的了,但它不一样
$diferentsGalleries = GallerySpace::select(DB::raw('DISTINCT ON(gallery
我正在尝试将这个SQL查询转换成雄辩的Laravel语言。
将SQL代码转换为雄辩
SELECT
session_id,
SUM(points) AS total_points
FROM
(
SELECT
session_id,
spent_points AS points
FROM
session_details
WHERE
session_id IN
(
" - Meagevy6y9ukbmFXvB7",
" - Meak6dG9i
请帮帮我。我想问:
假设我有两个表:user_master和people。
现在,我正在使用Laravel5.1框架在PHP中构建一个应用程序,它从user_master表中选择数据(在where子句中有一些约束)并插入到people表中。
守则是:
public function handle() {
$results = DB::select(DB::raw("SELECT * FROM user_master WHERE div_id = 1"));
foreach ($results as $res) {
//saving to array