我正在尝试WHERE IN在Laravel 中的原始查询中绑定数组DB
例:
$arr = [1,2,3];
DB::select(DB::raw("select * from test1 WHERE id IN ? "), [$arr]);
Run Code Online (Sandbox Code Playgroud)
由于某种原因,该数组未更改为以下查询:
select * from test1 WHERE id IN (1,2,3)
Run Code Online (Sandbox Code Playgroud)
有人知道我是否可以这样做吗?
使用PHP 7.2.8
关于trim()PHP中的函数我有一个奇怪的情况.举个例子,让我说这个陈述:
echo trim("sacas",",\s");
Run Code Online (Sandbox Code Playgroud)
我明白了
aca
Run Code Online (Sandbox Code Playgroud)
结果是.此外,如果我拨打一个略有不同的电话:
echo trim(" sacas",",\s")
Run Code Online (Sandbox Code Playgroud)
我明白了
saca
Run Code Online (Sandbox Code Playgroud)
(如果很难看到,领先的空间仍然存在).
作为最好的,我可以告诉大家,什么是发生的是trim,它去除了匹配一组指定的所有前导和尾随字符,则删除所有s字符,忽略空格.但是/s应该表示空白字符,而根本不匹配s.
任何想法为什么会这样?如果是这样,我怎样才能在留下字符的同时删除空白s?
作为一个说明,我的问题需要我修剪两个逗号和空格出来,所以我不能只是简单地使用TRIM(),没有额外的参数,它不会离开s独自
echo (true == -1 ? "I'm a little bit surprising" : "Life is easy");
Run Code Online (Sandbox Code Playgroud)
给
I'm a little bit surprising
Run Code Online (Sandbox Code Playgroud)
有人可以解释一下为什么 -1 等于 true 吗?谢谢
当我尝试在docker上运行我的php:apache容器时,我得到这个警告,请知道如何解决这个问题.
AH00558:apache2:无法
使用172.17.0.2 可靠地确定服务器的完全限定域名.全局设置'ServerName'指令以禁止此消息AH00558:apache2:无法使用172.17.0.2可靠地确定服务器的完全限定域名.全局设置'ServerName'指令以禁止显示此消息[Mon Feb 19 14:18:21.041074 2018] [mpm_prefork:notice] [pid 1] AH00163:Apache/2.4.10(Debian)PHP/7.0.27已配置 - 恢复正常运算[Mon Feb 19 14:18:21.041534 2018] [核心:通知] [pid 1] AH00094:命令行:'apache2 -D FOREGROUND'
DOCKERFILE:
FROM php:7.0-apache
COPY . /var/www/html/
EXPOSE 80
Run Code Online (Sandbox Code Playgroud) 我有 2 个使用 ID 加入的表。如果该 ID 在表 #2 中,我希望主表中的所有数据都显示并匹配,以在我的输出中显示更多列。目前与
select table1.id, table1.name, table1.phone, table1.address,
table2.loyalcustomer, table2.loyaltynumb, table2.loyaltysince from table1
left join table2
ON table1.id = table2.table1id
Run Code Online (Sandbox Code Playgroud)
我想做的是同样的事情,但在 table2.loyalcustomer != 'Yes' 中添加一个 WHERE 子句。当我这样做时,它不会返回我的主表(table1)中的所有数据,而是只显示 table1 和 table2 之间的匹配项。此外,table2 没有所有信息,只有插入表中的信息。
select table1.id, table1.name, table1.phone, table1.address,
table2.loyalcustomer, table2.loyaltynumb, table2.loyaltysince from table1
left join table2
ON table1.id = table2.table1id
WHERE table2.loyalcustomer != 'Yes'
Run Code Online (Sandbox Code Playgroud)
一直在阅读不同的连接,但我一直在阅读的是我的 where 语句可能与我的连接相矛盾,我不知道如何解决这个问题。
SQL 数据库:Postgres
我一直坚持这个错误,所以如果有的话请原谅我,因为我还是在laravel的新人.我收到了这个错误
未定义的变量:clientTransactions(查看:C:\ xampp\htdocs\dcgwapo\resources\views\service_details\create.blade.php)
但我有一个正确的代码,但我仍然想知道为什么它仍然是未定义的变量,因为我在我的控制器中定义它.
服务详细信息代码中的create.blade.php
<div class="form-group">
<label for="client_transaction_id">Client Trans ID: </label>
<select class="form-control" name="client_transaction_id">
@foreach ($clientTransactions as $clientTransaction)
<option value= "{{ $clientTransaction->id }}">
{{ $clientTransaction->id }}
</option>
@endforeach
</select>
</div>
Run Code Online (Sandbox Code Playgroud)
ServiceDetailsController代码
public function create()
{
$users = User::pluck('fname', 'lname', 'id');
$services = Service::pluck('name', 'id');
$clientTransactions = ClientTransaction::all();
return view('service_details.create', ['users' => User::all()], ['services' => Service::all()], ['clientTransactions' => ClientTransaction::all()]);
}
Run Code Online (Sandbox Code Playgroud)
ServiceDetail.php模型代码
public function clientTransaction()
{
return $this->belongsTo(ClientTransaction::class);
}
Run Code Online (Sandbox Code Playgroud)
我希望你能帮助我.谢谢!
信息正在发送frolm数据库,但这在我的网站中没有显示,并且出现此错误:
致命错误:未捕获错误:调用/storage/ssd1/525/6600525/public_html/ajax_message_forms/fetch_comment.php:14中未定义的方法PDO :: fetchAll()堆栈跟踪:#0 {main}抛出于/ storage / ssd1 / 525/6600525 / public_html / ajax_message_forms / fetch_comment.php,第14行
<?php
$connect = new PDO('mysql:host=localhost;dbname=xx' ,'xx' ,'xx');
$query = "
SELECT * FROM tbl_comment
WHERE parent_comment_id = '0'
ORDER BY comment_id DESC
";
$statement = $connect->prepare($query);
$statement->execute();
$result = $connect->fetchAll();
$output = '';
foreach($result as $row)
{
$output .= '
<div class="panel panel-default">
<div class="panel-heading">By <b>'.$row["comment_sender_name"].'</b> on <i>'.$row["date"].'</i></div>
<div class="panel-body">'.$row["comment"].'</div>
<div class="panel-footer" align="right"><button type="button" class="btn btn-default reply" id="'.$row["comment_id"].'">Reply</button></div>
</div>
';
$output .= get_reply_comment($connect, $row["comment_id"]); …Run Code Online (Sandbox Code Playgroud) 我有一个包含两个值的数组$arr = ['up', 'down'];。如果有人投了赞成票 ( $vote = 'up';),则数据库中的向上字段应增加 1,向下字段应减少 1。
我可以使用 if else 条件:
if ($vote === 'up') {
$voteModel['up'] = $voteModel['up'] + 1;
$voteModel['down'] = $voteModel['down'] - 1;
} else {
$voteModel['up'] = $voteModel['up'] - 1;
$voteModel['down'] = $voteModel['down'] + 1;
}
Run Code Online (Sandbox Code Playgroud)
但我想知道是否可以缩短这个时间。我正在考虑,arr = ['up' => 'down'];但不幸的是我现在还没有任何进展。你有什么想法?谢谢你!
php ×7
laravel ×2
apache ×1
database ×1
docker ×1
dockerfile ×1
laravel-5 ×1
laravel-5.4 ×1
left-join ×1
postgresql ×1