我正在开发一个多租户多数据库架构的应用程序,这基本上意味着每个租户都拥有自己的数据库,而不是所有租户都在同一个数据库中.
现在我一直在努力解决这样一个事实,即我无法成功更改数据库连接,而且我不确定这样做的正确方法.
我的数据库配置文件如下所示:
'connections' => [
'archive' => [
'driver' => 'mysql',
'host' => env('DB_HOST', 'localhost'),
'database' => env('DB_DATABASE', 'forge'),
'username' => env('DB_USERNAME', 'forge'),
'password' => env('DB_PASSWORD', ''),
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
'strict' => false,
],
'tenant' => [
'driver' => 'mysql',
'host' => env('DB_HOST', 'localhost'),
'database' => env('DB_DATABASE', 'forge'),
'username' => env('DB_USERNAME', 'forge'),
'password' => env('DB_PASSWORD', ''),
'charset' => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix' => '',
'strict' => false,
],
],
Run Code Online (Sandbox Code Playgroud)
所以基本上主要的数据库是存档,它包含所有租户(公司)信息,当用户想要登录时,他基本上首先提供租户(公司)用户名,然后提供他自己的登录凭证.这样我就知道应该连接哪个数据库并对用户进行身份验证.一个验证成功,我将租户的用户名保存到一个会话username变量,而该会话变量又由我编写的中间件使用.所以基本上如果会话有 …
因此,当我正在处理的 laravel 5 应用程序中创建新订单时,我试图记录一些简单的事情。
所以我有一个OrderWasCreated看起来像这样的事件:
<?php
namespace App\Events;
use App\Events\Event;
use Illuminate\Queue\SerializesModels;
use Illuminate\Contracts\Broadcasting\ShouldBroadcast;
use App\Order;
class OrderWasCreated extends Event
{
use SerializesModels;
public $order;
/**
* OrderWasCreated constructor.
*/
public function __construct(Order $order)
{
$this->order = $order;
}
/**
* Get the channels the event should be broadcast on.
*
* @return array
*/
public function broadcastOn()
{
return [];
}
}
Run Code Online (Sandbox Code Playgroud)
然后我有OrderEventListener它看起来像这样:
<?php
namespace App\Listeners;
use App\Events\OrderWasCreated;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Contracts\Queue\ShouldQueue;
class OrderEventListener
{ …Run Code Online (Sandbox Code Playgroud) 我试图通过将它分成两半然后在两者之间创建对角线来实现div中的典型样式,因此它看起来很好.截图如下:

<div class="contact hidden-xs">
<div class="diagonal"></div>
</div>
.contact{
width: 100%;
height: 500px;
background: linear-gradient(to right, #f87f73 50%, #292423 50%)
}
.diagonal{
margin-left: 50%;
width: 0px;
border-width: 500px 200px 0px 0px;
border-style: solid;
border-color: #f87f73 transparent transparent transparent;
}
Run Code Online (Sandbox Code Playgroud)
这就是我这样做的方式.现在我的问题是,因为我有那个对角线,所以它使红色部分变得更大.它在小屏幕上看起来不太好.如何使用线性渐变属性使其不是50%50%,而是40%60%,因此对角线没有太大的区别.当我在渐变属性中尝试40%60%时,它会混合渐变,这只是合乎逻辑的.如何使这项工作?
我正在研究一个按钮,它可以在悬停时更改背景颜色和颜色CSS属性.基本的东西.
<span>Contact me</span>
.contact-right span{
background-color: #fff;
color: #f87f73;
padding: 0px 25px;
border: 5px solid #f87f73;
}
.contact-right span:hover{
background-color: #f87f73;
color: #fff;
-webkit-transition: all .35s ease;
-o-transition: all .35s ease;
transition: all .35s ease;
}
Run Code Online (Sandbox Code Playgroud)
不是这个工作正常,我看到过渡效果平稳,背景颜色和颜色平滑变化.但是我想要一个特殊的东西,从按钮的左到右进行转换.我的意思是过渡不应该只是立即对整个按钮起作用,它应该从左侧滑入并从左到右改变文本的背景颜色和颜色.
我该如何做到这一点?它可以通过CSS完成,或者我必须以某种方式使用Jquery?
我正在开发一个应用程序,我的雇主希望用户表中的id应该从100,000而不是1开始.如何实现?它是Schema Builder本身的参数吗?或者我是否必须在MySQL中设置一些内容?
我是新手,正在研究他的前端技能,我正在设计自己的网站来学习.我正在尝试使用Mapbox API实现地图,我无法获得我在地图中使用的描述框的样式.
地图位于底部.现在我设法在地图上放置一个隐藏的描述框.单击地图上的标记时,将删除隐藏属性,单击地图时会再次添加.
map.css
#map {
width:100%;
height: 500px;
}
pre#description{
position: relative;
top: -100px;
left: 20px;
padding:5px 10px;
background: rgba(0,0,0,0.5);
color: #fff;
font-size: 11px;
line-height: 18px;
border-radius: 5px;
max-width: 25%;
overflow-x: hidden;
overflow-y: visible;
}
Run Code Online (Sandbox Code Playgroud)
map.js
L.mapbox.accessToken = 'pk.eyJ1Ijoicm9oYW4wNzkzIiwiYSI6IjhFeGVzVzgifQ.MQBzoHJmjH19bXDW0b8nKQ';
var map = L.mapbox.map('map', 'examples.map-i86nkdio')
.setView([30, 60])
.on('click', function(){
$("#description").addClass('hidden');
});
L.marker([28.612896, 77.177275], {
icon: L.mapbox.marker.icon({
'marker-size': 'large',
'marker-symbol': 'warehouse',
'marker-color': '#2880CA'
}),
title: 'My Location'
})
.on('click', function(){
$("#description").removeClass('hidden').empty().append('My Location');
})
.addTo(map);
L.marker([51.081482, 10.300311], {
icon: L.mapbox.marker.icon({
'marker-size': …Run Code Online (Sandbox Code Playgroud) 我正在使用laravel应用程序,我不仅要输入参数和选项,还想知道是否有一种可以输入文件的方式。我希望从其他API导入很多数据,而我正在使用Guzzle做到这一点。
很多时候,每次数据库重置时都会导入相同的数据。这就是为什么我首先将数据导入json文件集合中,然后每次都使用该集合将数据插入数据库中,从而节省了每次从其他API提取数据的时间。
现在,我正在对使用的文件进行硬编码,但是有没有一种方法可以通过我在命令行中为console命令指定参数和选项的文件来获取文件?
我正在尝试从 5.2 升级 laravel 5.3,但我一直在我的日志文件中看到这两个错误:
Symfony\Component\Debug\Exception\FatalErrorException: Uncaught Error: Call to undefined method Illuminate\Auth\Access\Gate::abilities() in /Users/rohan0793/Code/poptin_v3/vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php:237
和这个:
Symfony\Component\Debug\Exception\FatalThrowableError: Call to undefined method Illuminate\Log\Writer::setHandlers() in Command line code:1
全栈输出:
[2020-08-13 08:26:58] local.ERROR: Symfony\Component\Debug\Exception\FatalErrorException: Uncaught Error: Call to undefined method Illuminate\Auth\Access\Gate::abilities() in /Users/rohan0793/Code/poptin_v3/vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php:237
Stack trace:
#0 Command line code(1): Illuminate\Support\Facades\Facade::__callStatic('abilities', Array)
#1 {main}
thrown in /Users/rohan0793/Code/poptin_v3/vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php:237
Run Code Online (Sandbox Code Playgroud)
[2020-08-13 08:26:58] local.ERROR: Symfony\Component\Debug\Exception\FatalThrowableError: Call to undefined method Illuminate\Log\Writer::setHandlers() in Command line code:1
Stack trace:
#0 [internal function]: VscodeLaravelExtraIntellisenseProvider->boot()
#1 /Users/rohan0793/Code/poptin_v3/vendor/laravel/framework/src/Illuminate/Container/Container.php(508): call_user_func_array(Array, Array)
#2 /Users/rohan0793/Code/poptin_v3/vendor/laravel/framework/src/Illuminate/Foundation/Application.php(769): Illuminate\Container\Container->call(Array)
#3 …Run Code Online (Sandbox Code Playgroud) 我有这个Kernal.php:
$schedule->call('removeTemporaryFiles')->everyMinute();
Run Code Online (Sandbox Code Playgroud)
当我击中php artisan schedule:run它时,它就像魅力一样。但我也跑了:
* * * * * php /var/www/html/archive/artisan schedule:run >> /dev/null 2>&1
Run Code Online (Sandbox Code Playgroud)
但它不会自动运行。我已经等了超过一分钟,但它仍然没有运行。我究竟做错了什么?
以及主机cron保存在哪里?每分钟运行一次并调用工匠计划:运行?
我的zsh提示符显示如下:
tenant-application git:(beta-4-1)
Run Code Online (Sandbox Code Playgroud)
我希望它阅读如下内容:
homestead tenant-application git:(beta-4-1)
Run Code Online (Sandbox Code Playgroud)
或者类似的地方我可以理解机器的主机名
当我这样做时echo $PROMPT,它说
${ret_status} %{$fg[cyan]%}%c%{$reset_color%} $(git_prompt_info)
Run Code Online (Sandbox Code Playgroud)
我试过了:
export PROMPT=${ret_status} ${hostname} %{$fg[cyan]%}%c%{$reset_color%} $(git_prompt_info)
Run Code Online (Sandbox Code Playgroud)
但是错误说:
zsh: not an identifier: %{^[[36m%}%c%{^[[00m%}
Run Code Online (Sandbox Code Playgroud)
我做错了什么,以及如何使正确的事情永久化?