所以我通常会使用当前用户Auth::user(),当我确定用户是否实际登录时Auth::check.然而,这似乎不适用于我的AppServiceProvider.我用它来跨所有视图共享数据.我var_dump都Auth::user()和Auth::check()登录时,我得到NULL和false.
如何让当前用户进入我的AppServiceProvider?如果这是不可能的,那么user_id在所有视图中获取每个用户唯一的数据(根据不同的数据)的方法是什么.这是我的澄清代码.
if (Auth::check()) {
$cart = Cart::where('user_id', Auth::user()->id);
if ($cart) {
view()->share('cart', $cart);
}
} else {
view()->share('cartItems', Session::get('items'));
}
Run Code Online (Sandbox Code Playgroud) 基本上我的所有视图都使用header.blade.php,因为我将它包含在我的主布局中.我需要将数据传递到每个视图的标题.那么有没有办法将数据传递给包含而不是在每个视图中传递标题的数据?
因此,在我的页脚中,我有一个用于向新闻通讯添加订阅者的表单。当您输入电子邮件并提交表单时,您会被重定向回一条消息。一切正常。然而,页脚位于页面底部,我被重定向回顶部。有没有办法重定向并直接转到页脚?这是我的控制器中的代码:
public function addSubscriber(Request $request)
{
$this->validate($request, [
'email' => 'required|email'
]);
...code...
return redirect()->back()->with(['added' => $message]);
}
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?
所以我开始玩Nuxt.js。我想修改默认布局文件以具有页眉和页脚。为此,我想创建一个Header和Footer组件,并将页面内容标签(<nuxt/>)放在它们之间。但是什么也没发生。
这是我的default.vue布局文件:
<template>
<div>
<header/>
<nuxt/>
<h1>Footer</h1>
</div>
</template>
<script>
import Header from "~/components/Header.vue";
export default {
components: {
Header
}
};
</script>
<style>
...
</style>
Run Code Online (Sandbox Code Playgroud)
这是我的Header.vue组件文件:
<template>
<div>
<h1>Header</h1>
<div class="links">
<nuxt-link to="/" class="button--grey">Home</nuxt-link>
<nuxt-link to="/about" class="button--grey">About</nuxt-link>
</div>
</div>
</template>
<style>
.links {
padding-top: 15px;
}
</style>
Run Code Online (Sandbox Code Playgroud)
这有什么问题吗?我可以首先使用布局文件中的组件吗?我是否必须在其他地方分别注册新创建的组件?
可悲的是,关于此的信息并不多。我该如何实现?
提前致谢!
我正在使用Laravel和Ajax实现搜索.所以我有一个属于Tag和子类别的Product.另一方面,子类别属于类别.我想检查它们的所有属性(字段值)并检查它们是否包含给定的字符串.通过一些搜索我发现我必须使用LIKE.这是我尝试过的:
$products = Product::where('name_en', 'LIKE', $search)->get();
Run Code Online (Sandbox Code Playgroud)
但是,如果搜索字符串与该值完全匹配,则会获得产品.如果它包含它我想匹配.我如何处理belongsTo关系?我如何检查标签和子类别的标准?如何将所有东西连在一起,以达到理想的效果?提前致谢.
我正在使用express-validator进行验证。在我的控制器中,我有一种向数据库添加新图片的方法。这是我的代码:
function createPicture(req, res) {
req.checkBody('title', `The title can't be empty.`).notEmpty();
req.checkBody('image', 'You must select an image.').notEmpty();
let errors = req.validationErrors();
if (errors) {
res.json({errors: errors});
} else { ... }
Run Code Online (Sandbox Code Playgroud)
该代码适用于标题字段,但是无论是否选择图像,我仍然会收到有关其的验证错误。如何验证文件输入?我只是希望它是必需的。
我的工作日从1点到7点(周一到周日).
我想得到下一个日期,那天是指定日期(从1到7).
例如,今天是25.09.2018.
当我通过5(星期五)时,我希望得到28.09.2018,这是下一个最接近的星期五.
我怎样才能实现它?提前致谢!
所以我设法为 PHP 7 (7.0.4) 配置 Xdebug (2.4.0)。但是我无法在我的 Laravel 项目中使用它。我正在尝试调试 CartController 内的一段代码。但是它说存在错误,因为它找不到我的 CartController 扩展的控制器。这是我在 PhpStorm 控制台中得到的结果:
C:\xampp\php\php.exe -dxdebug.remote_enable=1 -dxdebug.remote_mode=req -dxdebug.remote_port=9000 -dxdebug.remote_host=127.0.0.1 C:\Users\Nikolay\Dropbox\store\app\Http \Controllers\CartController.php PHP 致命错误:在第 14 行的 C:\Users\Nikolay\Dropbox\store\app\Http\Controllers\CartController.php 中找不到类“App\Http\Controllers\Controller” PHP 堆栈跟踪: PHP 1. {main}() C:\Users\Nikolay\Dropbox\store\app\Http\Controllers\CartController.php:0
致命错误:在第 14 行的 C:\Users\Nikolay\Dropbox\store\app\Http\Controllers\CartController.php 中找不到类“App\Http\Controllers\Controller”
调用堆栈:2.1491 376944 1. {main}() C:\Users\Nikolay\Dropbox\store\app\Http\Controllers\CartController.php:0
进程已完成,退出代码为 255
当我在服务器上运行应用程序时,应用程序本身没有问题。我该如何解决这个问题以及为什么会发生这种情况?
编辑 - 28/05/2016 - 这是 CartController:
<?php
namespace App\Http\Controllers;
use App\Cart;
use App\CartItem;
use App\Product;
use Illuminate\Http\Request;
use App\Http\Requests;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Session;
class CartController extends Controller
{
public function showCart() {...}
public …Run Code Online (Sandbox Code Playgroud) 因此,我正在开发一个Express(带有Mongoose和Passport)应用程序,并且我想将facebook作为身份验证方法。我已经完成了它并且可以正常工作,但是我认为我没有合适的用户模型来处理多个社交提供者的身份验证过程。我想合并不同的社会账户。这是我当前适用于facebook auth的用户模型:
let userSchema = mongoose.Schema({
email: { type: String, unique: true },
name: { type: String },
password: { type: String },
facebookId: String,
facebookToken: String
}, { timestamps: true });
Run Code Online (Sandbox Code Playgroud)
我想到了以下两种方法,但是我不确定它们是否可行,并且哪种方法最灵活且独立于社交提供者。我正在考虑像这样的本地和社交数组:
let userSchema = mongoose.Schema({
local: {
email: { type: String, unique: true },
name: { type: String },
password: { type: String },
},
facebook: {
id: String,
token: String,
email: String,
name: String
},
google: {
id: String,
token: String,
email: String,
}
}, { timestamps: …Run Code Online (Sandbox Code Playgroud) 所以我们假设我们有以下网址:
http://example.com/shops/map/search
Run Code Online (Sandbox Code Playgroud)
我想访问第二个段(map)并检查其值.我如何在Express中实现这一目标?提前致谢!