我正在尝试访问类别及其内容列表.我有一个名为Categories的课程.我一直收到这个错误.奇怪的是,到目前为止,我已经在其他两个地方使用了相同的精确代码而没有任何问题.我在这里所做的就是重用代码并更改所有变量.
Fatal error: Call to a member function prepare() on null
Run Code Online (Sandbox Code Playgroud)
这是我班级的代码:
<?php
class Category {
public function fetch_all() {
global $pdo;
$query = $pdo->prepare("SELECT * FROM dd_cat");
$query->execute();
return $query->fetchAll();
}
public function fetch_data($cat_id) {
global $pdo;
$query = $pdo->prepare("SELECT * FROM dd_cat WHERE cat_id = ?");
$query->bindValue(1, $cat_id);
$query->execute();
return $query->fetch();
}
}
?>
Run Code Online (Sandbox Code Playgroud)
这是我要调用的代码:
<?php
session_start();
//Add session_start to top of each page//
require_once('includes/config.php');
require_once('includes/header.php');
include_once('includes/category.php');
?>
<link rel="stylesheet" href="css/dd.css">
<div id="menu">
<a class="item" href="drop_index.php">Home</a> -
<a …Run Code Online (Sandbox Code Playgroud) 我有用户、组和成员资格。我使用成员资格联接表在用户和组之间建立了 has_many 关系。我想要做的是设置一个 after_create 回调,每当用户创建新组时,该回调都会将新记录添加到成员资格表中,这样创建者就自动成为该组的成员。
现在,用户可以创建群组,但该群组将显示有 0 名成员,并且用户必须加入该群组。如果我尝试从组控制器更新成员资格模型,如何通过回调自动执行该部分?
用户.rb
class User < ApplicationRecord
has_many :created_groups, class_name: "Group"
has_many :memberships
has_many :groups, through: :memberships
end
Run Code Online (Sandbox Code Playgroud)
组.rb
class Group < ApplicationRecord
belongs_to :creator, class_name: "User"
has_many :memberships
has_many :users, through: :memberships
end
Run Code Online (Sandbox Code Playgroud)
会员资格.rb
class Membership < ApplicationRecord
belongs_to :user
belongs_to :group
end
Run Code Online (Sandbox Code Playgroud)
组控制器.rb
class GroupsController < ApplicationController
after_create :set_membership
def create
@group = current_user.groups.build(group_params)
respond_to do |format|
if @group.save
format.html { redirect_to @group, notice: 'You have a new Group!' }
else
format.html …Run Code Online (Sandbox Code Playgroud) 我试图让这个循环用逗号分隔结果:
<% @regions.each do |region| %>
<%= link_to region.name, region_path(region) %>
<% end %>
Run Code Online (Sandbox Code Playgroud)
如果我这样做,它会在最后一个结果后添加一个逗号:
<% @regions.each do |region| %>
<%= link_to region.name, region_path(region) %>,
<% end %>
Run Code Online (Sandbox Code Playgroud)
必须有一种优雅的方式.