首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Laravel 5.7雄辩

Laravel 5.7雄辩
EN

Stack Overflow用户
提问于 2018-12-13 07:39:10
回答 5查看 504关注 0票数 0

所以,我对从我在拉拉维尔的数据库中获取一些信息有一些问题。问题是,我想要一个站点设置表,带有一些全局默认值。

代码语言:javascript
复制
+--------------+--------------+------+-----+---------+----------------+
| Field        | Type         | Null | Key | Default | Extra          |
+--------------+--------------+------+-----+---------+----------------+
| id           | int(11)      | NO   | PRI | NULL    | auto_increment |
| option_name  | varchar(255) | NO   |     | NULL    |                |
| option_value | longtext     | NO   |     | NULL    |                |
+--------------+--------------+------+-----+---------+----------------+

像这样..。我如何获得所有的信息与拉拉维雄辩?

代码语言:javascript
复制
select * from `options`;
> 1 | site_name | mysite.com

我想要能做到

代码语言:javascript
复制
$options->site_name

在我的控制员和视图中。我记不起这种东西叫什么了,所以我不能真正地去寻找它。:(

编辑:

请求后的模型类

代码语言:javascript
复制
namespace App;

use Illuminate\Database\Eloquent\Model;

class DNBOptions extends Model
{
    protected $table = 'dnb_options';
    protected $primaryKey = 'option_name';

    protected $fillable = [
        'option_name', 'option_value'
    ];
}

编辑2:

在Laracast上获得了使用->pluck()并转换为一个(对象)的答案,以获得我正在寻找的结果。

$option>site_name

链接到Laracast

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2018-12-13 08:12:55

在App/Http/Controller/Controller.php中

代码语言:javascript
复制
class Controller extends BaseController
{
    use AuthorizesRequests, DispatchesJobs, ValidatesRequests;

    protected $options;

    public function __construct()
    {
        $this->options = (object)DNBOptions::pluck('option_value', 'option_name')->toArray();
        \View::share('options', $this->options);
    }
}

意见:

代码语言:javascript
复制
{{ $options->site_name }}

在管制员中:

代码语言:javascript
复制
$this->options->site_name
票数 0
EN

Stack Overflow用户

发布于 2018-12-13 07:52:18

首先创建模型。您可以手动完成,也可以在终端中使用artisan

代码语言:javascript
复制
php artisan make:model Option

这将创建App\Option类。然后在app/Option.php中配置模型:

代码语言:javascript
复制
<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class Option extends Model
{
    //
    protected $table = 'options';
}

现在,在任何像App\Http\Controllers\AnyController这样的控制器中,您可以使用代码:

代码语言:javascript
复制
use App\Option;

// Other codes ...

public function show($id) {
    $option = Option::find($id);
    echo $option->option_name; // print "site_name"
}

OP给出新模型后的编辑

因此,如果您使用模型:

代码语言:javascript
复制
namespace App;

use Illuminate\Database\Eloquent\Model;

class DNBOptions extends Model
{
    protected $table = 'dnb_options';
    protected $primaryKey = 'option_name';

    protected $fillable = [
        'option_name', 'option_value'
    ];
}

然后在控制器或视图中使用:

代码语言:javascript
复制
$option = \App\DNBOptions::find('site_name');
echo $option->option_value;

// Get all
$options = \App\DNBOptions::all();
foreach($options as $option) {
    echo $option->option_name;
    echo $option->option_value;
}

// Print 1st
echo $options->first()->option_name;

// With where
$option = \App\DNBOptions::where('option_name', 'site_name')->first();
echo $option->option_value;

完整控制器-查看示例:

代码语言:javascript
复制
<?php

namespace App\Http\Controllers;

use App\DNBOptions;

class OptionController extends Controller
{
    /**
     * Show the application dashboard.
     *
     * @return \Illuminate\Http\Response
     */
    public function index()
    {
        $options = DNBOptions::all();
        $data ['options'] => $options;
        return view('options.index', $data);
    }
}

视图类是resources/views/options/index.blade.php

代码语言:javascript
复制
@extends('layouts.app')

@foreach($options as $option)
     {{ $option->site_name }}
     {{ $option->option_value }}
@endforeach

如果您有布局模板,请使用@extends。有关更多信息,请参阅Laravel文档。

票数 1
EN

Stack Overflow用户

发布于 2018-12-13 07:45:59

雄辩的质疑:

代码语言:javascript
复制
$options = DB::table('options')->get();

使用以下代码获取所有信息:

代码语言:javascript
复制
@foreach($options as $option)
     {{ $option->site_name }}
     {{ $option->option_value }}
@endforeach
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53757074

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档