我有一些我不太了解的东西,我有解决方案,但我不知道为什么这会让我有点疯狂
调节器
DB::connection()->enableQueryLog();
$transfer = Transfer::where('ticket_id', $last_ticket)->where('event_id', 36)->where('buyer', $user_email)->first();
$queries = DB::getQueryLog();
dd($queries);
Run Code Online (Sandbox Code Playgroud)
结果
array:1 [
0 => array:3 [
"query" => "select * from `transfers` where `ticket_id` = ? and `event_id` = ? and `buyer` = ? limit 1"
"bindings" => array:3 [
0 => false
1 => 36
2 => "[email protected]"
]
"time" => 0.36
]
]
Run Code Online (Sandbox Code Playgroud)
情况:
$last_ticket在DB中是唯一的,永远不会null,空或false.
在我的例子$last_ticket中false,但在DB中没有任何false,为什么我仍然得到结果?
是因为只要条件是假的,它就不会进入等式吗?
所以问题是:我如何才能收到正确的结果含义:如果$ last_ticket为false则没有结果,如果它有一些数据,则返回由$ last_ticket限制的行结果
一种选择可能是if($last_ticket …
我正在使用Laravel(中等静态网络)在nginx中运行服务器,并且我正在做例如在1分钟内500个恒定负载的同时用户(在那一分钟内不是分布式用户).
并收到此错误:
unix:/var/run/php/php7.1-fpm.sock失败 - 资源暂时不可用
cginx.conf
worker_processes auto;
events {
use epoll;
worker_connections 1524; #in my case it should be 1024, but well..
multi_accept on;
}
http {
#with this I reduce disk usage a lot
client_body_buffer_size 10K;
client_header_buffer_size 1k;
large_client_header_buffers 2 1k;
reset_timedout_connection on;
sendfile on;
tcp_nopush on;
tcp_nodelay on;
Run Code Online (Sandbox Code Playgroud)
www.conf
pm.max_children = 500
pm.start_servers = 20
pm.min_spare_servers = 20
pm.max_spare_servers = 64
Run Code Online (Sandbox Code Playgroud)
使用Google计算引擎的结果:
f1-micro (1 vCPU, 0,6 GB) - Is supporting 40 - 60 requests per …Run Code Online (Sandbox Code Playgroud) 我有一个包含以下各列的MySQL表:
City Country Continent
New York States Noth America
New York Germany Europe - considering there's one ;)
Paris France Europe
Run Code Online (Sandbox Code Playgroud)
如果我想找到带有错字的“ New Yokr”,那么使用MySQL存储函数很容易:
$querylev = "select City, Country, Continent FROM table
WHERE LEVENSHTEIN(`City`,'New Yokr') < 3"
Run Code Online (Sandbox Code Playgroud)
但是,如果有两个纽约城市,以全文搜索,则可以输入“ New York States”,您会得到想要的结果。
所以问题是,我可以搜索“ New Yokr Statse”并获得相同的结果吗?
是否有任何将levenshtein和全文本合并以形成一个完整解决方案的函数,还是应该在MySQL中创建一个将三列连接在一起的新列?
我知道还有其他解决方案,例如lucene或Sphinx(也有soundex,metaphone,但对此无效),但我认为对我来说可能很难实现。
所以我在Laravel应用程序中更改了一个列的名称,并开始派对.
更改是从name_id到seller_id
在查看之前:
$transaction->user->first_name
Run Code Online (Sandbox Code Playgroud)
之前在控制器交易中:
class Transaction extends Model
{
public function user(){
return $this->belongsTo('App\User');
}
}
Run Code Online (Sandbox Code Playgroud)
在控制器调用视图之前和之后:
public function getInfoUser($name){
$user = User::where('register_id', $name)->where('id', auth()->user()->id)->first();
if($user){
return view('users.user', compact('user'));
}
}
Run Code Online (Sandbox Code Playgroud)
在视野中:
$transaction->seller->first_name
Run Code Online (Sandbox Code Playgroud)
在控制器事务之后:
class Transaction extends Model
{
protected $primaryKey = 'seller_id';
public function user(){
return $this->belongsTo('App\User');
}
}
Run Code Online (Sandbox Code Playgroud)
退货后:
Trying to get property of non-object (View: /Users/tronne/Documents/web/resources/views/users/user.blade.php) in c7128907204dffe6676c7d88cbbc47.php (line 108)
at CompilerEngine->handleViewException(object(ErrorException), 0) in
PhpEngine.php (line 45)
at PhpEngine-evaluatePath('/Users/tronne/Documents/web/storage/framework/views/c7128907204dffe6676c7d88cbbc47.php', array('__env' => object(Factory), 'app' => object(Application), 'errors' …Run Code Online (Sandbox Code Playgroud) 我的Laravel有一种奇怪的行为.
一切都工作得很好,但后来我决定将col名称"user_id"更改为"seller_id"
而且我也正确地更改了控制器中的列名称
public function transactions(){
return $this->hasMany('App\Transaction', 'seller');
}
Run Code Online (Sandbox Code Playgroud)
然后我成功登录,并在一个视图中有这一行:
auth()->user->id
Run Code Online (Sandbox Code Playgroud)
返回我的错误:
"Undefined property:Illuminate\Auth\AuthManager :: $ user
我在互联网上看到我没有登录的错误和接缝,但我,任何线索?
谢谢