【php – 如何获取表的主键?】教程文章相关的互联网学习教程文章

php – 在Laravel中,您可以使用对象的主键检查对象是否在Collection中吗?【代码】

我需要一种快速的方法来判断一个对象是否在一个集合中.我正在构建一个模板,管理员可以在其中为用户分配角色.下面的陈述基本上就是我想要完成的. 是此角色集合中主键值为5的角色. 我正在做什么(显然是愚蠢到一个文件):<?php // The user $user = User::find(1);// Array of roles the user is associated with. Fetched via a pivot table $tmpUserRoles = $user->roles->toArray();// Rebuilds the values from $tmpUserRoles so...

php – 如何在eloquent中创建多列主键【代码】

我将Managers,Course_Type和Course Years存储在数据库中. 我将根据递增的值来命名我的课程,例如Course_type course_order course_yearCourse_type[0] 1 2015 Course_type[0] 2 2015Course_type[0] 3 2015Course_type[0] 4 2015Course_type[0] 1 2016Course_type[1] 1 2015Course_type[2] 1 ...

php – Laravel用所有get的hashids替换主键【代码】

我使用laravel 4.2,我想在网址中使用哈希而不是主键.它易于使用单个记录.如果我使用预先加载,我需要遍历所有模型并用hash ID替换主键. 例如.对于每个帖子,我需要使用hashid更改post_id.对于帖子的每个评论,我都必须这样做.对于评论的每个用户等等..我可以扩展模型以默认返回hashid吗?解决方法:是的,您可以使用mutators扩展模型.将此方法放入模型中,或者更好地放入您的所有模型应扩展的基础模型中.public function getHashidAttrib...

php – 从表中选择ORDER BY另一个表列,匹配主键【代码】

参见英文答案 > PHP/MySQL Order by column in a different table 2个我一直在寻找一段时间,但我想要完成的查询似乎很难找到关于如何做我想做的事情的任何信息或文档. 我有两个表,其中一个表存储我的用户帐户和基本信息.然后,我有一个第二个表,其中包含有关用户的更多信息. 这两个表都有主键(表1是id,表2是user_id),我用它来知道谁是谁,并匹配两个表之间的记录. 我今天要做的是我想从表1中获取...

php – Discriminator Column可以成为Doctrine2中主键的一部分吗?【代码】

我在Doctrine2中使用Single Table Inheritance来存储多个服务的OAuth凭据.我想使用服务的id作为主键;但是,这并非所有服务都是唯一的. 我已经设置数据库使用鉴别器列和服务的id作为主键,但我找不到一种方法使Doctrine使用鉴别器列作为键(除了鉴别器列).我正在使用docblock注释,如果我将鉴别器列添加为@Id字段,我会收到错误:Duplicate definition of column...in a field or discriminator column mapping.如果我只将字段定义为鉴别...

从php中的表的两个主键生成唯一的12个字母的字母数字字符串【代码】

我有两个表:category(cat_id type int,cat_name)和books(book_id type int,cat_id).当我将书分配给用户时,他将获得书籍代码.我想形成包含12个字母数字字符的本书代码,它必须来自cat_id和book_id.此外,我应该能够解码代码以获取cat_id和book_id.任何的想法?.解决方法:好的,你去…… 这可以处理最大有符号整数类型.并产生不超过12个字符.$firstId = "2147483646"; $secondId = "2147483646"; $firstBinary = str_pad(base_convert...

php – 缺少主键ID Doctrine Symfony2的值【代码】

我正在研究两个实体之间关于交响乐2.8.2的学说.我一直收到“缺少主键id的值” 下面是缺少id的id注释./*** @ORM\Id* @ORM\Column(type="integer")* @ORM\GeneratedValue(strategy="AUTO")*/ protected $id;这是我的加入:/*** @ORM\OneToOne(targetEntity="FYP\BaseDesignBundle\Entity\SessionDesign", inversedBy="user")* @ORM\JoinColumn(name="fcid", referencedColumnName="id")*/ private $sessionDesign;/*** @ORM\OneToOne...

php – 为什么Eloquent(在Laravel中)将我的varchar uuid主键强制转换为导致错误的整数?【代码】

跟进我昨晚的question,我度过了一个美好的睡眠之夜,并“发现”这是因为自动演员/类型转换或其他原因. 总结一下: >模型使用uuidas主键>他们通过mySQL插入的触发器获取它们>要获取数据库运行时生成的uuid,我调用$model_object-> fresh(); fresh()>这在将对象作为一个整体获取时起作用,但在仅选择一个属性时则不起作用 模型<?php namespace App\Models;use Illuminate\Database\Eloquent\Model;class Address extends Model {protect...

PHP实现MySQL的主键id自动重新自增排序【代码】

一.创建一个数据库db_idlist执行SQL代码DROP TABLE IF EXISTS `tb_idlist`; CREATE TABLE `tb_idlist` (`id` int(11) NOT NULL AUTO_INCREMENT,`content` varchar(20) DEFAULT NULL,PRIMARY KEY (`Id`) ) ENGINE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;二.新建index.php<?php $conn=mysqli_connect("127.0.0.1","root","123456","db_idlist") or die("数据库服务器连接错误".mysqli_error($conn));mysqli_select_db($conn,...

php-在没有主键或唯一字段的情况下替换MySQL中的现有记录或创建新记录【代码】

我正在使用PHP,我需要在MySQL数据库中插入新记录,或者如果存在,则只需对其进行更新.我读了几个答案,他们建议使用REPLACE或INSERT … ON DUPLICATE KEY UPDATE,但是,如果我很好理解,这两个选项都意味着使用唯一字段或主键(唯一).在我的情况下,MySQL表具有类似于以下的值:Timestamp | Query1 | Query2 | Result -------------------------------------------------------- 2012-10-13 08:15:27 | American | Men ...

使用PHP的mySQL表中的增量主键【代码】【图】

我正在尝试使用表单发布将行添加到mySQL表中.每行都有一个主要的我正在调用quoteID.提交新表单时,应将其自身添加为表中的一行,且quoteID比先前的quoteID大一个.当前看起来像这样:<? session_start(); if(!session_is_registered(myusername)){ header("location:login.php"); } include 'verify.php'; $con = mysql_connect("localhost","user","$password"); if (!$con){die('Could not connect: ' . mysql_error());}mysql_sele...

php – 按日期或主键排序的MYSQL?

我有一个表,其中包含自动增量主键列和日期时间列.我想返回按创建日期排序的行. 如果我按日期或主键订购,这有关系吗?我想,与00:00:00或时间戳的日期格式相反,主键更快.新记录将具有更大的主键.然而每个人都按日期字段排序.解决方法:按日期字段排序,但请确保在日期字段上添加索引. 日期字段是二进制字段,它与主键一样快. (日期是3个字节,而不是整数主键,它是4.)它不会使用字符串来按照您的假设进行排序. 更重要的是,它表明了你的意图...

mysql – phpMyAdmin主键指示器在文本上显示灰色

在phpMyAdmin中,很难看到哪个列被分配了PK.如果基于图标的颜色,它没有意义,因为我假设具有数据类型文本的列具有灰色图标.解决方法:在PhpMyadmin主键中通过列名称下划线标识. 在您的情况下,您在task_id中有下划线. 其他灰色表示,您不能将主键分配给该列.

php – 重新索引MySQL INT主键并重置AUTO_INCREMENT【代码】

所以我有一个MySQL数据库,我正在使用PHP网站.在几周的发展过程中,我留下了类似的东西:Table: usersid | name -----------12| Bob34| Jen155| John154| Kyle除此之外,还有数百条记录,而且数以千计. 我正在寻找一个脚本,我可以运行将键重命名为最低值(保留各自的行),然后将AUTO_INCREMENT重置为下一个id 期望的输出是:Table: usersid | name -----------1| Bob2| Jen3| Kyle4| John和ALTER TABLE用户AUTO_INCREMENT = 5; (注意凯...

php – MySQL:如何在两个主键必须匹配的DUPLICATE KEY UPDATE上进行操作?【代码】

我需要能够使用mysqli-> multi_query在一个查询调用中运行以下所有内容,这就是为什么这很棘手.我有一个由以下列组成的表: > id>电子邮件> event_promo_code> event_id 当脚本运行时,如果id AND event_id与现有记录(不仅仅是一个键或另一个键)匹配,我需要能够插入新行或UPDATE行. 我现在拥有的是:INSERT INTO `rsvps` SET id='$rsvpID', email='$rsvpEmail', event_promo_code='$rsvpEventCode', event_id='$eventID' ON DUPLIC...