这是一个奇怪的.
我有两个网站,一个由Laravel(5.3)提供支持,另一个由Wordpress提供支持.
Laravel存在于portal.example.com
Wordpress存在Wordpress
我正在尝试从Wordpress站点检查Laravel站点上当前登录的用户.
我让Laravel设置为使用cookie驱动程序进行会话,并将cookie域设置为.example.com,以便我现在可以从Wordpress站点的任何位置看到此cookie.
在wordpress头文件的顶部(或wp-load.php文件,或者functions.php文件,我尝试了很多地方但是遇到了同样的问题)我已经包含了以下内容......
require $_SERVER['DOCUMENT_ROOT'].'/../laravel/bootstrap/autoload.php';
$laravel = require $_SERVER['DOCUMENT_ROOT'].'/../laravel/bootstrap/app.php';
$laravel->make('Illuminate\Contracts\Http\Kernel')
->handle(Illuminate\Http\Request::capture());
if (Auth::check()) {
var_dump(Auth::user()->id);
} else {
var_dump(false);
}
Run Code Online (Sandbox Code Playgroud)
现在,每当我登录Laravel网站时,我都可以访问example.com,然后在页面顶部,我的Laravel用户ID目前正在成功进行var_dump.
但是,一旦我访问example.com/other-pages/,它就是var_dumping false.
我知道它仍在寻找我需要的两个文件,因为网站继续加载,如果我将它们更改为无意义的文件名,网站就会死亡.我甚至可以var_dump($ laravel)并获得一个很大的Laravel列表.
有没有人有机会知道这里会发生什么?
编辑:
我注意到的第一件事就是在不起作用的页面上有所不同,如果我是var_dump($ laravel)......我得到......
protected 'routeResolver' => null
Run Code Online (Sandbox Code Playgroud)
接近尾声而不是......
protected 'routeResolver' =>
object(Closure)[805]
...
Run Code Online (Sandbox Code Playgroud)
编辑2:
这里有一点进步.
如果我这样做......
$kernel = $app->make('Illuminate\Contracts\Http\Kernel');
$response = $kernel->handle( $request = Illuminate\Http\Request::capture());
var_dump($response);
Run Code Online (Sandbox Code Playgroud)
我可以看到这些其他页面上的响应是Laravel 404页面,所以它遇到错误并且从未返回我的用户.
我可以通过将每个wordpress域添加到我的Laravel路由文件来"修复"它,但这只是脏的,哈哈.
想办法解决这个问题吗?
我已经设法为启动时需要在数据库中的数据设置了相当数量的种子.一切都很简单并且运行良好,直到我需要使用默认日期播种DATE字段.
我试过以下......
DatabaseSeeder.php
class SettingsTableSeeder extends Seeder {
public function run()
{
Setting::create([
'name' => 'Start Date',
'date' => '2000-01-01'
]);
}
}
Run Code Online (Sandbox Code Playgroud)
在我的模型中,我被告知添加这应该修复它,但它没有.
Setting.php
protected $dates = [
'created_at',
'updated_at',
'date'
];
Run Code Online (Sandbox Code Playgroud)
每次我去运行播种机时都会抛出错误:
[InvalidArgumentException]
The separation symbol could not be found
Unexpected data found.
Trailing data
Run Code Online (Sandbox Code Playgroud)
如果我删除它改变的日期周围的引号..
[InvalidArgumentException]
The separation symbol could not be found
Data missing
Run Code Online (Sandbox Code Playgroud)
知道如何为DATE数据库字段播种默认值吗?
正则表达式(如果需要的话,可以使用javascript)是否可能要求数字,空格,字母?
我什至不知道从哪里开始。
我知道如果我以HTML5模式执行此操作的话...
pattern="[0-9]+[ ][a-zA-Z0-9]+"
Run Code Online (Sandbox Code Playgroud)
但这是HTML5模式,我正在尝试找出正则表达式的等效项。
现在我在 PHP 中有一个对象数组,其中一些对象具有重复的“id”值。我正在尝试删除重复项,但我想保留“数量”值最低的那个。
我知道通常如何从数组中删除重复的整个对象,但不仅是当一个值重复时以及如何保留另一个值中的较低值。
例子:
[
{
id: 1,
qty: 200
},
{
id: 1,
qty: 190
},
{
id: 2,
qty: 10
},
{
id: 2,
qty: 12
},
{
id: 2,
qty: 10
},
{
id: 3,
qty: 5
},
{
id: 4,
qty: 5
},
{
id: 4,
qty: 2
},
]
Run Code Online (Sandbox Code Playgroud)
我想要的最终结果是..
[
{
id: 4,
qty: 2
},
{
id: 3,
qty: 5
},
{
id: 2,
qty: 10
},
{
id: 1,
qty: 190 …
Run Code Online (Sandbox Code Playgroud)