在laravel4中创建自定义按钮

问题描述 投票:-1回答:1

有人可以一步一步告诉我如何在我的应用程序中创建功能类似的按钮?解释它是如何工作的,所以我不必依赖你的代码,并且可以自己创建我自己的按钮。我希望有人会指导我,因为我不知道这个东西是如何工作的,我必须创建多少个数据库表,或者我应该使用javascript。我的应用程序可以显示数据库中的所有帖子,这是我的代码到目前为止。

从我的控制器:

public function dashboard()
{
    $mytime = Carbon\Carbon::now();
    $user = Auth::user();
    $posts = Post::where('reviewed', '=' , 1)->orderBy('created_at', 'DESC');
    $url = asset('img/logo.gif');
    $this->layout->content = View::make('interface.dashboard', 
        array('posts' => $posts->paginate(9)))
        ->with('img', $url)
        ->with('user', $user)
        ->with('date', $mytime);

}

和我的观点:

<div class="dashboard">
    @foreach (array_chunk($posts->getCollection()->all(),4) as $row)
        <div class="row">
            @foreach($row as $post)
                <article class="col-md-4 effect4" class="dash-box">
                    <p></p>
                    <div><img src="{{ asset('img/' . $post->image) }}" /></div>
                    <b><a href="{{ URL::action('LoginUsersController@viewPost' , array('id' => $post->id))}}">{{$post->title}}</a></b>
                    <hr>
                    <d>{{$post->created_at->toFormattedDateString()}}</d>
                </article>
            @endforeach
        </div>
    @endforeach

    <div class="page">
        {{$posts->appends(Request::only('difficulty'))->links()}}
    </div>
</div>
php laravel
1个回答
0
投票

您没有指定是否应该为用户或帖子,我猜这是为了帖子。在以太网情况下,您不应创建新表,因为您可以在Post表中添加“number_of_like”列。

然后在你的@foreach($ row作为$ post)中创建一个like按钮,它看起来像这样:

{{ Form::open(['method' => 'POST', 'route' => [ 'post_path', $post->id ] ) }}
    <button type="submit" >Like</button>
{{ Form::close() }}

上面你将post id发布到post_path,然后在routes.php中定义:

Route::post('post/{id}', [
    'as' => 'post_path',
    'uses' => 'PostController@update'
]);

现在在你的PostController中,你将收到id作为更新方法参数,并可以用它来查找post和update number_of_likes:

public function update($id)
{
        $post = Post::findOrFail($id);
        $post->number_of_likes++;
        $post->save();
return Redirect::back();
}

当创建一个应该来自PostController @ create的帖子时,你应该用零初始化number_of_likes。

最后要显示有多少喜欢帖子,只需在按钮前添加:

{{$post->number_of_likes}} <button type="submit" >Like</button>

请注意,整个过程可以通过许多不同的方式完成,但这是一种基本的方法。当你得到这个工作,然后你可以尝试使用一些JavaScript来改善它,如果需要的话。

© www.soinside.com 2019 - 2024. All rights reserved.