小编Jas*_*onK的帖子

如何使用Laravel的Eloquent实现单表继承?

目前我有一个名为的模型类Post.

class Post extends Eloquent {

    protected $table = 'posts';
    protected $fillable = array('user_id', 'title', 'description', 'views');

    /*
     * Relationships
     */

    public function user()
    {
        return $this->belongsTo('User');
    }

    public function tags()
    {
        return $this->belongsToMany('Tag', 'post_tags');
    }

    public function reactions()
    {
        return $this->hasMany('Reaction');
    }

    public function votes()
    {
        return $this->hasMany('PostVote');
    }

    //Scopes and functions...
}
Run Code Online (Sandbox Code Playgroud)

我想把帖子分成两种不同的类型; articlesquestions.我认为最好的方法是继承,所以Article并且Question会扩展Post.最好的方法是什么,从哪里开始?

mysql inheritance subclass laravel eloquent

24
推荐指数
2
解决办法
9677
查看次数

CSS3简单圆环图

我要做的是创建一个简单的圆环图.我目前只使用CSS(3),但我不知道是否可以没有javascript.

到目前为止我所拥有的:http: //jsfiddle.net/aBP5Q/

HTML:

<div class="donut-container" style="background: #9C0;">
    <div class="donut-inner">
        <div class="donut-label">HTML</div>
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

CSS:

.donut-container {
    width: 150px;
    height: 150px;
    float: left;
    -webkit-border-radius: 75px;
    -moz-border-radius: 75px;
    border-radius: 75px;
    margin-right: 20px;
}

.donut-inner {
    width: 134px;
    height: 134px;
    position: relative;
    top: 8px;
    left: 8px;
    background: #FFF;
    -webkit-border-radius: 65px;
    -moz-border-radius: 65px;
    border-radius: 65px;
}

.donut-label {
    line-height: 130px;
    text-align: center;
    font-size: 20px;
}
Run Code Online (Sandbox Code Playgroud)

我想将绿色和蓝色显示为百分比.因此,绿色不是0%,全绿色(360度)是100%.如果可能的话,甚至可以在加载图表时使用简单的动画.

非常感谢您的帮助.

css css3 donut-chart

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

使用Vagrant安装Composer

我在Windows PC上成功安装了Vagrant和一些盒子.我得说它工作得很棒,可以动态创建和销毁不同配置的VM.

我现在面临的唯一问题是我想安装作曲家.但作曲家要求你指向php.exe这样做.我不想在我的电脑上安装PHP,其他人使用Vagrant是没有意义的.我该如何解决这个问题?

我已经看过一些关于使用Puppet的文章,但是我无法理解它们.

提前致谢.

vagrant composer-php vagrant-windows

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

Laravel保存了有序模型的有序列表

我正在创建一个食物菜单,管理员可以通过拖放来订购/排序.此菜单包含多个类别(ProductCategory)和产品(Product).

我在客户端使用HTML5Sortable来允许嵌套的d&d.标记非常简单:

<div class="categories">
    @foreach($categories as $category)
    <div class="category">
        @foreach($category->products as $product)
        <div class="products">
            <div class=""product" data=id="{{ $product->id }}">
                 {{ $product->name }}
            </div>
        </div><!-- /products !-->
        @endforeach
    </div><!-- /category !-->
    @endforeach
</div>
Run Code Online (Sandbox Code Playgroud)

和相应的javascript:

$('.categories').sortable({
    items: '.category'
});
$('.products').sortable({
    items: '.product'
});

// Will be called when the user is done repositioning the products and categories
function getOrderedList() {
    var data = {};

    $('.categories').find('.category').map(function(i) {
        var category = $(this);
        data[i] = {};
        data[i].id = category.data('id');
        data[i].products = category.find('.product').map(function() { …
Run Code Online (Sandbox Code Playgroud)

drag-and-drop model sorted laravel eloquent

12
推荐指数
1
解决办法
1290
查看次数

AJAX与Laravel的分页

我有这个视图posts.blade.php,其中包括home.blade.php:

<div id="posts">
    @foreach ($posts as $post)
        <div class="list-item clearfix">
            <div class="content">
                <img src="{{ URL::to($post->thumbnail) }}" alt="" />
                <h1>{{{ $post->title }}}</h1>
            </div>
            <div class="score">{{ $post->rating }}</div>
        </div>
    @endforeach
    <div id="pagination">{{{ $posts->links() }}}</div>
</div>
Run Code Online (Sandbox Code Playgroud)

当用户搜索某些帖子时,控制器的postSearch()函数会返回JSON响应:

function postSearch() 
{
    $posts = $posts->select(...)->where(...)->orderBy(...)->paginate(5); //Search posts

    return Response::json(View::make('includes.posts', ['posts' => $posts])->render());
}
Run Code Online (Sandbox Code Playgroud)

并且jQuery在#postsdiv 上附加HTML :

$('#search').submit(function(e) {
    e.preventDefault();
    var form = $(this);

    $.post(form.attr('action'), form.serialize(), function(data) {
        $('#posts').html(data);
    });
});
Run Code Online (Sandbox Code Playgroud)

这很完美.但现在当我点击分页链接时,页面重新加载,我的搜索结果消失了(显而易见).我如何分页这些帖子?我读过这个,这个这个文章,但我不知道如何实现它. …

ajax search jquery pagination laravel

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

Laravel 5获取视图名称

我很难在L5中获得视图名称.就像在WP中一样,我想为样式添加一个特定的页面名称(视图名称),如下所示:

<!-- View name: login.blade.php !-->
<div id="page" class="page-login">
    <h1>Inloggen</h1>
</div>

<!-- View name: register.blade.php !-->
<div id="page" class="page-register">
    <h1>Registreren</h1>
</div>
Run Code Online (Sandbox Code Playgroud)

在L4中,可以使用composer在所有视图中共享var(如何在Laravel 4中的主数据库中获取当前视图名称?).但是我的主布局只需要一次视图名称.

这样做:

<div id="page" class="page-{{ view()->getName() }}">
Run Code Online (Sandbox Code Playgroud)

给我以下错误Call to undefined method Illuminate\View\Factory::getName().

提前致谢!

php templates view laravel-5

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

Laravel获取模型属性:两种方法之间的差异

我发现有两种方法可以使用Laravel获取/显示模型的属性.我可以在User.php例如创建一个函数:

public function getUsername() {
    return $this->username;
}
Run Code Online (Sandbox Code Playgroud)

然后显示如下的用户名:

{{{ Auth::user()->getUsername() }}}
Run Code Online (Sandbox Code Playgroud)

或者我可以简单地执行此操作而无需创建函数:

{{{ Auth::user()->username }}}
Run Code Online (Sandbox Code Playgroud)

这两种方法有什么区别?

php attributes model laravel eloquent

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

Laravel以多个步骤雄辩地分割查询

我认为标题很混乱,我会尽量解释这个.可以说我对搜索帖子有很大的疑问,如下所示:

$posts = Post::select('...')
           ->leftJoin('...')
           ->leftJoin('...')
           ->where('...')
           ->orWhere('...')
           ->orderBy('...')
           ->orderBy('...')
           ->groupBy('...')
           ->with('...')
           ->paginate(8);
Run Code Online (Sandbox Code Playgroud)

如何拆分此查询?例如:

$posts = Post::select('...')
           ->leftJoin('...')
           ->leftJoin('...')

$posts->where('...')
      ->orWhere('...');

$posts->orderBy('...')
      ->orderBy('...')
      ->groupBy('...');

$posts->with('...')
      ->paginate(8);
Run Code Online (Sandbox Code Playgroud)

我使用Laravel 4.2,我尝试了几件事(包括这篇文章),但我无法让它工作.我需要这个来搜索和过滤帖子.

php mysql split laravel eloquent

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

在我的Laravel项目中使用SemanticUI

我在将SemanticUI集成到我的Laravel项目时遇到了一些困难.这些都是漂亮的框架,遗憾的是没有什么可以找到这个主题.

首先我使用NPM安装语义:npm install semantic-ui.这很好用,但问题是还安装了很多其他npm软件包.此外,语义也有许多我不需要的gulp任务.Laravel附带Elixer来定义基本的Gulp任务,我确实想要使用它.

我去了语义github repo并下载了/src文件夹.我将文件夹复制到我的Laravel项目中:/resources/assets/semantic/.然后在app.less我导入语义的文件中:

/**
* Import the SemanticUI source
*/
@import '../semantic/src/semantic';
Run Code Online (Sandbox Code Playgroud)

所以下一步是让Elixer进行编译并复制到/public文件夹:

elixir(function(mix) {

    // Semantic LESS
    mix.less([
        'app.less'
    ], 'public/vendor/semantic/semantic.css');

    // Semantic JS
    mix.scriptsIn([
        'resources/assets/semantic/src/definitions/'
    ], 'public/vendor/semantic/semantic.js'); // js: resources/assets/semantic/src/definitions/{folder}/{script}.js

    // Semantic Themes
    mix.copy('resources/assets/semantic/src/themes', 'public/vendor/semantic/themes');

});
Run Code Online (Sandbox Code Playgroud)

这很好用.我唯一关心的是更新语义必须由手完成.如果您对我有任何建议或其他approuch我很乐意听到.这是我的public/vendor文件夹运行后的样子gulp:

公共/供应商

现在我面临的另一个问题是,当我看一下缩小的CSS时,我发现资产路径是错误的:

src: url("../../themes/default/assets/fonts/icons.eot");
// and more wrong paths...
Run Code Online (Sandbox Code Playgroud)

它应该在寻找themes/default/assets/fonts/icons.eot.有任何想法吗?

提前致谢.

build less semantic-ui gulp laravel-5

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

Laravel从数据库加载设置

我正在寻找一种从Laravel 5数据库加载设置/配置的有效方法.设置由a keyvalue列组成,模型类基本上如下所示:

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class Setting extends Model
{
    protected $table = 'settings';
    protected $fillable = ['key', 'value'];
    protected $primaryKey = 'key';
}
Run Code Online (Sandbox Code Playgroud)

起初我做了一个简单的辅助函数来完成这项工作.问题是,这将导致每页请求多次调用.哪个慢了.

/**
 * Get the value for the given setting from the database.
 *
 * @param  string  $key
 * @return string
 */
function setting($key)
{
    $setting = Setting::whereKey($key)->firstOrFail();

    return $setting->value;
}

// $foo = setting('foo'); returns 'bar'
Run Code Online (Sandbox Code Playgroud)

为了改进这一点,我创建了一个SettingApp\Classes目录中调用的自定义类(并为它创建了一个Facade):

<?php

namespace App\Classes;

use Cache;

class Setting { …
Run Code Online (Sandbox Code Playgroud)

php database settings configuration laravel-5

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

没有onScroll更快滚动?

阅读本文关于更快的滚动效果后,我感到非常兴奋.我使用了Warry的方法,看看我是否能发现性能上的任何差异 - 与使用scroll事件监听器相比:

window.addEventListener('scroll', function() {
    console.log('Scrolling: ' + window.pageYOffset);
});
Run Code Online (Sandbox Code Playgroud)

文章代码:

function loop() {
    if (lastPosition == window.pageYOffset) {
        requestAnimationFrame(loop);
        return false;
    } else lastPosition = window.pageYOffset;

    console.log('Scrolling: ' + window.pageYOffset);
    // make sticky calculations...

    requestAnimationFrame(loop);
}
loop(); // start loop
Run Code Online (Sandbox Code Playgroud)

这两段代码输出相同的(Y)偏移量,并且在性能方面似乎相同.所以我的问题是:这篇文章是对的吗?

另外,requestAnimationFrame这张图片怎么样?我知道它告诉浏览器它希望执行重新绘制.或者...位置固定的方式去了吗?我对这个主题感兴趣,因为我正在开发一个关于粘性元素的插件.

任何信息或建议表示赞赏!

javascript performance scroll onscroll requestanimationframe

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

Laravel API连接到多个数据库

我正在使用Laravel(Lumen)构建REST API.我们的想法是,这个API为多个食品订购网站提供了后端.它们共享相同的后端逻辑(模型,控制器等).这样每个网站只需要它自己的前端应用程序,我打算为此使用Angular.每个网站都有自己的数据(产品,页面等),必须存储在不同的数据库中.

config/databases.php为了测试目的,我已经定义了多个连接.现在我可以在查询相应的数据库之前动态设置连接,如下所示:

class ProductController extends Controller
{
    /**
     * Display a listing of the resource.
     *
     * @return Response
     */
    public function index()
    {   
        $products = new Product;
        $products->setConnection('customer_two'); // <--
        $products = $products->get();

        return response()->json($products);
    }
}
Run Code Online (Sandbox Code Playgroud)

例如,可以使用缓存来完成相同的操作.

让API知道哪个客户的网站提出请求的最佳方法是什么?我需要指向正确的数据库.此外,这种方法是否会在性能方面造成任何问题?

api connection multiple-databases laravel-5 lumen

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