在laravel

时间:2016-09-18 05:09:52

标签: php laravel laravel-5.2 laravel-5.1

我正在开发一个旨在显示学生记录的应用程序,显然是为了查看和编辑我必须选择学生的记录。 我想知道如何将学生的id存储在全局变量或类似的东西中。要使它在应用程序的任何部分可用,以便从任何控制器或视图中使用它,并且一旦应用程序的用户关闭或显示另一个记录,该变量就会加载新的Id

知道如何做到这一点

2 个答案:

答案 0 :(得分:1)

这是概念和想法。 考虑到您正在存储每个学生数据,并且每个学生必须具有用于登录其帐户的用户名和密码。

因此,请获取经过身份验证的用户的ID,如

<nav id='slideShow_control'>
                <a href='#'>
                    <figure><img src='img/slide01_thumb.jpg' alt=''><figcaption>توسعه میدان های نفتی توسعه میدان های نفتی</figcaption></figure>
                </a>
                <a href='#'>
                    <figure><img src='img/slide02_thumb.jpg' alt=''><figcaption>توسعه میدان های نفتی</figcaption></figure>
                </a>
                <a href='#'>
                    <figure><img src='img/slide03_thumb.jpg' alt=''><figcaption>توسعه میدان های نفتی توسعه میدان های نفتی</figcaption></figure>
                </a>
                <a href='#'>
                    <figure><img src='img/slide04_thumb.jpg' alt=''><figcaption>توسعه میدان های نفتی</figcaption></figure>
                </a>
            </nav>


#slideShow_control {
    position: absolute;
    bottom: 30px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 2;
}

#slideShow_control > a {
  position: relative;
    display: block;
    float: left;
    width: 20px;
    height: 20px;
    margin-left: 20px;
}

#slideShow_control > a:first-child {
    margin-left: 0;
}

#slideShow_control > a:before {
    content: '';
    display: block;
    width: 20px;
    height: 20px;
    background-color: #09779C;
}
#slideShow_control > a:hover:after {
    content: '';
    position: absolute;
    width: 20px;
    height: 20px;
  left:0;
  top: -20px;
}

#slideShow_control > a:hover:before {
    transition: all 0.2s ease-in-out;
    background-color: transparent;
    transform: scale(1.7);
    box-shadow: 0 0 0 3px #09779C inset;
}

#slideShow_control figure {
    opacity: 0;
    text-align: center;
    font-size: 0;
    position: absolute;
    bottom: -100%;
    left: 50%;
    transform: translateX(-50%) translateY(50%);
    visibility: hidden;
    transition: all 0.3s ease-out;
    z-index: 3;
  pointer-events: none;
}

#slideShow_control figcaption {
    white-space: nowrap;
    padding-top: 8px;
    padding-bottom: 7px;
    color: #fff;
    font-size: 0.9rem;
}

#slideShow_control img {
    transition: all 0.3s ease-out;
}

#slideShow_control a:hover figure {
    opacity: 1;
    visibility: visible;
    bottom: 30px;
    transform: translateX(-50%) translateY(0);
  pointer-events: all;
}

现在您想要的是全局共享此ID并可供所有控制器和视图访问,为此您需要编辑Auth::student()->id; // For logged in user we do Auth::user()->id; 并在启动功能中获取经过身份验证的用户并在全局共享,如下所示。

AppServiceProvider

确保添加导入您正在使用的模型。

现在,您可以在任何类似的地方访问经过身份验证的学生ID

public function boot()
{
        $studentID = Auth::student()->id; // grab the ID you want to share globally
        view()->share('studentID', $studentID);
}

答案 1 :(得分:1)

尝试全球可用的session功能:

session(['studentID'=>Auth::student()->id]);

然后像这样访问:

session('studentID');

在视图中:

{{ session('studentID') }}