小编Nig*_*Ren的帖子

在DB :: raw laravel 5.4中的数组绑定中

我正在尝试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 database laravel laravel-5

1
推荐指数
2
解决办法
7301
查看次数

PHP trim()在未指定时删除S.

使用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独自

php

1
推荐指数
1
解决办法
71
查看次数

PHP:为什么 true 等于 -1?

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 吗?谢谢

php

1
推荐指数
1
解决办法
21
查看次数

Docker PHP-APACHE容器全局设置ServerName指令

当我尝试在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)

php apache docker dockerfile

0
推荐指数
2
解决办法
2万
查看次数

SQL 使用 where 子句离开 JOIN 不返回所有结果

我有 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

postgresql left-join

0
推荐指数
1
解决办法
1950
查看次数

未定义的变量问题Laravel 5.4

我一直坚持这个错误,所以如果有的话请原谅我,因为我还是在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)

我希望你能帮助我.谢谢!

php laravel laravel-5.4

0
推荐指数
1
解决办法
461
查看次数

调用未定义的方法PDO :: fetchAll()

信息正在发送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)

php

0
推荐指数
1
解决办法
1053
查看次数

PHP 数组在两个字符串之间切换

我有一个包含两个值的数组$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

0
推荐指数
1
解决办法
88
查看次数