如何使用变量更改数据库条目

时间:2014-04-16 18:06:35

标签: php laravel laravel-4

我对Laravel很新,我不太清楚要搜索什么才能获得好结果,请原谅我,如果有这么多人,我真的不知道该搜索什么,但我有试过。

在Laravel中,我的视图中基本上有8个链接,每个链接都被路由到相同的控制器和URL。

我想要实现的是,对于每个点击链接,单个控制器需要知道点击了什么链接...我已经通过使用单独的控制器实现了这一点,但是当我意识到我需要在每个控制器上改变一些东西,我意识到这不可能是Laravel,甚至PHP应该如何用于获得最佳性能。

所以在我看来,我有8个......

{{ '<p class="green"><A href="#">Default Notice</A></p>' }}

所有标签之间都有不同的文字,我希望单个控制器能够知道按下了哪个按钮,以便更新数据库中与所点击的链接相对应的8列中的1列。

我已经设置了数据库模型,这不是问题。问题是能够在单个控制器中确定哪些链接已被点击,因此我可以继续说...

if($link == 'a certain name'){
    $model->acolumnname = 1;
}

我希望自己解释一下? 非常感谢

2 个答案:

答案 0 :(得分:0)

为什么不使用普通的'查询字符串? (如果您不想传递参数)

(顺便说一句,为什么在写出简单的html时使用刀片?)

<p class="green"><A href="{{url('/?link=1')}}">Default Notice</A></p>
<p class="green"><A href="{{url('/?link=2')}}">Default Notice</A></p>
<p class="green"><A href="{{url('/?link=3')}}">Default Notice</A></p>

说你有这条路线:

Route::get('/', 'MyController@method');

在MyController类中:

public function method()
{
  # if not present, defaults to `null`, or pass a second paramenter to make 
  # it the default one
  $link = Request::query('link');
  if($link){  
    $model->acolumnname = $link;
  }
}

答案 1 :(得分:0)

您可以像这样创建一个Controller

class PageController extends BaseControlle {

    public function page($page = null)
    {
        if(!is_null($page)) {
            // Page Model
            $data = Page::where('slug', $page)->get();
            return View::make('page')->with('data', $data);
        }
    }

}

routes.php文件中,您可以添加以下路线:

Route::get('page/{slug}', array('uses' => 'PageController@page', 'as' => 'page.show'));

要为您的网页生成链接,您可以在view

中尝试这样的操作
<a href = "{{ route('page.show', array('slug' => 'home')) }}">Home</a>
<a href = "{{ route('page.show', array('slug' => 'about')) }}">About</a>
// More...