Php 活动记录在CodeIgniter中获取第二个表值
我只创建了一个简单的博客,但我无法从帖子中获得所需的输出,我只想使用第一个表中的userID从第二个表中获取firstname和lastname controllers/posts.php:Php 活动记录在CodeIgniter中获取第二个表值,php,mysql,sql,codeigniter,activerecord,Php,Mysql,Sql,Codeigniter,Activerecord,我只创建了一个简单的博客,但我无法从帖子中获得所需的输出,我只想使用第一个表中的userID从第二个表中获取firstname和lastname controllers/posts.php: <?php class Posts extends CI_Controller { function __construct() { parent::__construct(); $this->load->model('post'); }
<?php
class Posts extends CI_Controller {
function __construct() {
parent::__construct();
$this->load->model('post');
}
function index() {
$data['posts'] = $this->post->get_posts();
$data['users'] = $this->post->get_users();
$this->load->view('post_index', $data);
}
function post($postID) {
$data['post'] = $this->post->get_post($postID);
$this->load->view('post', $data);
}
function correct_permissions($required) {
$user_type = $this->session->userdata('user_type');
if ($required == "User") {
if ($user_type) {
return true;
}
} elseif ($required == "Blogger") {
if ($user_type == "Blogger") {
return true;
}
}
}
function deletepost($postID) {
$user_type = $this->session->userdata('user_type');
if ($user_type != 'Blogger') {
echo "<script>alert:('Please log in to continue.');</script>";
redirect(base_url());
}
$this->post->delete_post($postID);
redirect(base_url() . 'posts');
}
}
附言:我是一名初学者,对CodeIgniter还不熟悉。好的。所以我从你的问题中得到的是,你有两个表,其中一个表中存储了用户ID,另一个表中存储了用户详细信息。所以试试这个,因为你需要在回显它之前获取行
echo $this->db->select('firstname','lastname')->from('users')->where('userID',$row['userID'])->get()->row();
上述代码也可以这样编写:
$this->db->select('firstname','lastname')->where('userID',$row['userID'])->get('users')->row();
如果您有任何疑问,请告诉我。非常高兴您的帮助,但没有奏效,兄弟。。。。我也犯了同样的错误…:我想把这个值转换成文字,它看起来像是最后添加的:2014-09-22 10:49:22。再次提供帮助将不胜感激:请将您的代码发布到fiddle,以便我可以更好地帮助您如何发布我的代码到fiddle,以及在哪里可以找到该小提琴?羞耻
<div class="panel">
<?php if (!isset($posts)) { ?>
<p>There are currently no posts on my blog.</p>
<?php
} else {
foreach ($posts as $row) {
?>
<div class="panel-heading">
<h2 href="<?= base_url() ?>posts/post/<?= $row['postID'] ?>"><?= $row['title'] ?></h2>
</div>
<div class="panel-body">
<p><?= substr(strip_tags($row['post']), 0, 200) . "..." ?></p>
<br><br>
<div class="panelver">
<h6 href="<?= base_url() ?>posts/post/<?= $row['userID'] ?>">Posted by:
<?php
if($row['userID'] == 0) {
echo "Someone";
} else {
echo $this->db->select('firstname','lastname')->from('users')->where('userID',$row['userID']);
}
?></h6>
<p href="<?= base_url() ?>posts/post/<?= $row['postID'] ?>">Added last: <?= $row['date_added'] ?></p>
</div>
<p><a href="<?= base_url() ?>posts/post/<?= $row['postID'] ?>">Read More</a> - - - <a href="<?= base_url() ?>edit/editpost/<?= $row['postID'] ?>">Edit</a> | <a href="<?= base_url() ?>posts/deletepost/<?= $row['postID'] ?>">Delete</a></p>
<hr/>
</div>
<?php
}
}
?>
</div>
Posted by:
A PHP Error was encountered
Severity: 4096
Message: Object of class CI_DB_mysql_driver could not be converted to string
Filename: views/post_index.php
Line Number: 42
Added last: 2014-09-20 11:30:00
Read More - - - Edit | Delete
echo $this->db->select('firstname','lastname')->from('users')->where('userID',$row['userID'])->get()->row();
$this->db->select('firstname','lastname')->where('userID',$row['userID'])->get('users')->row();