小编Hal*_*nex的帖子

find(),findOrFail(),first(),firstOrFail(),get(),list(),toArray()之间有什么区别

这些方法有什么区别

  1. 找()
  2. findOrFail()
  3. 第一()
  4. firstOrFail()
  5. 得到()
  6. 名单()
  7. 指定者()

我一直在使用它们,每个都给出了不同的结果,有时我需要find()在结尾处添加,findOrFail()因为我的函数期待一个数组.其他方法也不会产生数组吗?

php laravel laravel-5

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

如何在Laravel 5中验证当前,新的和新的密码确认?

我在UserController@getProfilePassword和中创建了密码路由,视图和方法UserController@postProfilePassword

目前,如果我填写该new_password字段,它会被哈希并正确提交到数据库,然后我可以使用新密码登录.

但我需要能够验证new_passwordnew_password_confirm确保它们相同并验证用户的当前密码.

我怎样才能做到这一点?

编辑:我添加$this->validate到该方法,但现在我不断得到错误,The password confirmation confirmation does not match.即使他们匹配,因为我使用简单的密码.此外,我认为我需要手动检查当前密码validator,因为我不会这样做.

public function getProfilePassword(Request $request) {
    return view('profile/password', ['user' => Auth::user()]);
}

public function postProfilePassword(Request $request) {
    $user = Auth::user();

    $this->validate($request, [
        'old_password'          => 'required',
        'password'              => 'required|min:4',
        'password_confirmation' => 'required|confirmed'
    ]);

    $user->password = Hash::make(Input::get('new_password'));
    $user->save();
}
Run Code Online (Sandbox Code Playgroud)

这就是观点

<form action="{{ route('profile/updatepassword') }}" method="post" enctype="multipart/form-data">
    <div class="form-group">
          <label for="name">Current Password</label>
          <input type="password" name="old_password" class="form-control" id="old_password">
    </div> …
Run Code Online (Sandbox Code Playgroud)

php laravel laravel-5 laravel-5.2

13
推荐指数
4
解决办法
3万
查看次数

如何在Bootstrap中创建可滚动列?

template-home2.php在Wordpress主题中创建了一个新的模板文件.

在那里我有一个3列的行,我想使这些列中的每一列都可滚动而不是整个页面.我怎样才能做到这一点?

我有一个类scrollable,我应用于页面的外部部分,使其可滚动.

<section class="<?php if( get_theme_mod( 'hide-player' ) == 0 ){ echo "w-f-md";} ?>" id="ajax-container">
    <section class="hbox stretch bg-black dker">
        <section>
            <section class="vbox">
                <section class="scrollable">
                    <div class="row">
                       <div class="col-md-5 no-padder no-gutter">
                           some data
                       </div>
                       <div class="col-md-4 no-padder no-gutter">
                           some data
                       </div>
                       <div class="col-md-3 no-padder no-gutter">
                           some data
                       </div>
                    </div>
                </section>
            </section>
        </section>
    </section>
</section>
Run Code Online (Sandbox Code Playgroud)

当我从主要部分删除"可滚动"类并将其包含在列div中时,列会消失,其他2列会在下面的元素上溢出.

这是相关的CSS

.scrollable {
  overflow-x: hidden;
  overflow-y: auto;
}
.no-touch .scrollable.hover {
  overflow-y: hidden;
}
.no-touch .scrollable.hover:hover {
  overflow: visible;
  overflow-y: …
Run Code Online (Sandbox Code Playgroud)

css wordpress wordpress-theming twitter-bootstrap

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

Laravel 5:如果用户是帖子的所有者或论坛类别的所有者,则允许用户编辑帖子

到目前为止,我能够允许用户编辑他自己的帖子,但每当我通过这个if he's owner of the subreddit/category条件时,它就会完全停止工作.

我有这3张桌子

Users: id, name, email...
Subreddits: id, name, user_id...
Posts: id, link, title, user_id, subreddit_id...
Run Code Online (Sandbox Code Playgroud)

这是edit()方法PostsController.php

public function edit(Post $post, Subreddit $subreddit)
    {
        if(Auth::id() !== $post->user_id) {
            return view('home')->withErrors('You cannot do that');
        } else {
            return view('post/edit')->with('post', $post)->with('subreddit', $subreddit);
        }
    }
Run Code Online (Sandbox Code Playgroud)

这就是观点

@if(Auth::id() == $post->user_id)
      <a href="{{ action('PostsController@edit', [$post->id]) }}">Edit</a>
@endif
Run Code Online (Sandbox Code Playgroud)

这工作正常,它只检查登录的user_id是否与帖子的user_id相同,并且更新是否通过.

但是,如果我添加if(Auth::id() == $subreddit->user_id)它停止工作.它在所有帖子的视图上显示"编辑"链接,但点击其中任何一个都会给我验证错误,You cannot do that即使对于我拥有的帖子也是如此.

那么如何检查用户是文章的所有者还是要显示的类别的所有者并允许编辑?

更新方法 $subreddit->user_id

public function edit(Post $post, …
Run Code Online (Sandbox Code Playgroud)

php mysql laravel eloquent laravel-5

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

与Laravel 5的jScroll.js:未找到nextSelector - 销毁

我正在使用jscroll.js,jquery.upvote.js和Laravel paginate()方法的组合.这一切都有效,除了这个小东西,分页页面中的最后一个帖子总是有不可点击的投票按钮.

开发人员控制台中也没有错误.

目前,我正在使用,paginate(2)因为我在该类别中只有3个帖子.

编辑:我刚添加了几个帖子,并注意到投票按钮只能在第一页上工作,其余页面都会使投票按钮无法点击.

编辑2:debug: true在jscroll.js中打开了,我收到了这个新错误

jScroll:找不到nextSelector - 销毁

"下一个"选择器标记看起来像这样

<a href="24?page=2" rel="next">»</a>
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

如果我删除paginate(2)并且jscroll.js所有投票按钮开始正常运行.

SubredditController

$subreddit = Subreddit::with('posts.votes')->with('moderators.user')->where('id', $subreddit->id)->first();
$posts = $subreddit->posts()->paginate(2);
Run Code Online (Sandbox Code Playgroud)

风景

<link rel="stylesheet" href="{{ URL::asset('assets/css/jquery.upvote.css') }}">
    <script src="{{ URL::asset('assets/js/jquery.upvote.js') }}"></script>
    <script type="text/javascript" src="{{ asset('assets/js/jquery.jscroll.min.js') }}"></script>

    <script type="text/javascript">
        $(document).ready(function() {
            $('.topic').upvote();

            $('.vote').on('click', function (e) {
                e.preventDefault();
                var $button = $(this);
                var postId = $button.data('post-id');
                var value = $button.data('value');
                $.post('http://localhost/reddit/public/votes', {postId:postId, value:value}, function(data) {
                    if (data.status == 'success')
                    {
                        // …
Run Code Online (Sandbox Code Playgroud)

javascript php jquery pagination laravel

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

使用Baum和Laravel的嵌套集可评论:正在插入子注释而没有可注释的id和类型

我正在尝试使用Laravel Commentable来实现多线程注释,它使用嵌套套件和Baum

我已成功地使根评论工作,但是当我回复评论,在数据库中的一条记录被插入不commentable_idcommentable_type所以有在明知该评论的回复是否是没办法App\Post还是App\Product因为这两个领域是空的,我似乎无法理解为什么.

users: id, name, email...
posts: id, user_id, subreddit_id...
comments: id, user_id, parent_id, lft, rgt, depth, commentable_id, commentable_type
Run Code Online (Sandbox Code Playgroud)

路线

Route::post('comments/{post}', ['as' => 'comment', 'uses' => 'PostsController@createComment']);
Route::post('comments/{comment}/child', ['as' => 'child-comment', 'uses' => 'PostsController@createChildComment']);
Run Code Online (Sandbox Code Playgroud)

方法 PostController

public function createComment($id) {

    $post = Post::with('user.votes')->with('subreddit.moderators')->where('id', $id)->first();

    $comment = new Comment;
    $comment->body = Input::get('comment');
    $comment->user_id = Auth::id();

    $post->comments()->save($comment);
}

public function createChildComment(Post $post){
    $parent = Comment::find(Input::get('parent_id'));

    $comment = new Comment; …
Run Code Online (Sandbox Code Playgroud)

php nested laravel laravel-5

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

Laravel 5:Ajax Post 500(内部服务器错误)

我正在尝试通过ajax将数据提交到数据库.提交文章页面没有ajax工作正常.我已添加,console.log()只是为了看看是否有任何事情,但我得到这个错误:

POST http:// localhost/laravel-5/public/articles/create 500(内部服务器错误)

我的代码出了什么问题?是javascript还是控制器?

编辑:我得到了这个 laravel.log

C:\ xampp\htdocs\laravel-5\vendor\laravel\framework\src\Illuminate\Foundation\Http\Middleware\VerifyCsrfToken.php中的异常'Illuminate\Session\TokenMismatchException':53

路线

Route::resource('articles', 'ArticlesController');
Run Code Online (Sandbox Code Playgroud)

调节器

public function store(Requests\ArticleRequest $request)
    {

        $article = new Article($request->all());
        Auth::user()->articles()->save($article);

        $response = array(
            'status' => 'success',
            'msg' => 'Article has been posted.',
        );
        return \Response::json($response);
    }
Run Code Online (Sandbox Code Playgroud)

jQuery的

$(document).ready(function() {
    $('#frm').on('submit', function (e) {
        e.preventDefault();
        var title = $('#title').val();
        var body = $('#body').val();
        var published_at = $('#published_at').val();
        $.ajax({
            type: "POST",
            url: 'http://localhost/laravel-5/public/articles/create',
            dataType: 'JSON',
            data: {title: title, body: body, published_at: published_at},
            success: function( data ) …
Run Code Online (Sandbox Code Playgroud)

php ajax jquery laravel laravel-5

6
推荐指数
1
解决办法
3万
查看次数

Laravel 5:in_array()期望参数2是数组,给定对象

我试图传递一个数组与登录用户的投票从控制器到视图的帖子,但我一直收到此错误

in_array()期望参数2是数组,给定对象(查看:C:\ xampp\htdocs\laravel-5\resources\views\subreddit\show.blade.php)

我试过用,lists()但我得到了这个错误Missing argument 1 for Illuminate\Database\Eloquent\Builder::lists()

使用lists('post_id')在标题中返回相同的错误.

调节器

public function show(Subreddit $subreddit)
{
    $posts = Subreddit::findOrFail($subreddit->id)->posts()->get();
    $votes = Auth::user()->votes()->get(); //I have also tried lists()

    return view('subreddit/show')
        ->with('subreddit', $subreddit)
        ->with('posts', $posts)
        ->with('votes', $votes);
}
Run Code Online (Sandbox Code Playgroud)

视图

@foreach($posts as $post)
    @if ($voted = in_array($post->id, $votes))
      {!! Form::open(['url' => 'votes', 'class' => 'votes']) !!}
    @endif
      <div class="upvote topic" data-post="{{ $post->id }}">
         <a class="upvote vote {{ $voted ? 'voted-on' : '' }}" data-value="1"></a>
         <span class="count">0</span>
         <a class="downvote vote …
Run Code Online (Sandbox Code Playgroud)

php arrays laravel laravel-5

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

如何在Wordpress中更改WooCommerce“我的帐户”菜单的URL?

我在Wordpress中使用WooCommerce插件。

我想更改WooCommerce创建的“我的帐户”页面上显示的“下载”链接的URL。

在此处输入图片说明

我想将其从链接更改/my-account/downloads//customer-area/dashboard/

我试图添加一个自定义函数来更改菜单项的标题和端点。

function wpb_woo_my_account_order() {
    $myorder = array(
        'edit-account'       => __( 'Change My Details', 'woocommerce' ),
        'dashboard'          => __( 'Dashboard', 'woocommerce' ),
        'orders'             => __( 'Orders', 'woocommerce' ),
        'customer-area/dashboard' => __( 'Download MP4s', 'woocommerce' ),
        'edit-address'       => __( 'Addresses', 'woocommerce' ),
        'payment-methods'    => __( 'Payment Methods', 'woocommerce' ),
        'customer-logout'    => __( 'Logout', 'woocommerce' ),
    );
    return $myorder;
}
add_filter ( 'woocommerce_account_menu_items', 'wpb_woo_my_account_order' );
Run Code Online (Sandbox Code Playgroud)

但是,无论我使用什么端点,它都嵌套在内部 /my-account/

我该如何改变?

php wordpress woocommerce

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

当我使用 CSS 和 JS 向下滚动时,如何从左到右移动(动画)元素?

我有一个火车图像,它位于容器底部,我想在向下滚动时从浏览器的左边缘移动到右边缘。

当页面加载时火车不应该是可见的,并且应该只在我开始向下滚动时才开始移动。

编辑:如果我向上滚动,火车应该向后移动到其原始位置。据我了解,这种运动称为视差。

我真的不知道如何在 CSS 或 jQuery 中实现这一点。

有人可以告诉我使用纯 CSS 或 jQuery 插件来实现这一目标的最佳方法是什么。

演示 https://jsfiddle.net/vq2tpavn/4/

HTML

<section id="first-section">
  <div class="container">
    <div class="row">
      <div class="col-md-12">
        <p class="text-center">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam fringilla diam quis turpis eleifend, ac molestie diam consectetur. In at augue tellus. Pellentesque efficitur efficitur nisl, suscipit blandit mauris. Quisque consectetur tincidunt suscipit. Nullam fermentum dictum quam vel volutpat. Phasellus eleifend molestie neque id varius. Aenean convallis ornare nisi vitae blandit. Phasellus imperdiet, diam vel …
Run Code Online (Sandbox Code Playgroud)

html javascript css jquery

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